You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Shazron Abdullah (JIRA)" <ji...@apache.org> on 2012/07/16 20:26:34 UTC

[jira] [Updated] (CB-828) iOS contact.save() stucks the UI from updating on heavy load & has memory leaks.

     [ https://issues.apache.org/jira/browse/CB-828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shazron Abdullah updated CB-828:
--------------------------------

    Fix Version/s:     (was: 2.0.0)
                   2.1.0
    
> iOS contact.save() stucks the UI from updating on heavy load & has memory leaks.
> --------------------------------------------------------------------------------
>
>                 Key: CB-828
>                 URL: https://issues.apache.org/jira/browse/CB-828
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>            Reporter: Olivier Louvignes
>            Assignee: Shazron Abdullah
>              Labels: contacts
>             Fix For: 2.1.0
>
>
> I'm trying to restore 3000 contacts on a device, since i need to display a progress UI, I had to use something like this (SenchaTouch 2 code but you get the point).
> [CODE]
> //forEach contacts as contact...
> _.delay(function() {
> 				contact.save({callback : function(contact, operation) {
> 					d&&console.log(displayName + ' ~ saved ('+ action +') contact', arguments);
> 					j++;
> 					App.getViewport().mask({message: __('restore...'), details: j + '/' + count, progress: j/count, mode: 'determinate'});
> 					// Last item ?
> 					if(j == count) {
> 						contactStore.clearFilter();
> 						return self.afterRestore(callback);
> 					}
> 				}});
> 			}, 25*i);
> [/CODE]
> Works quite well in the simulator but i'm getting regular "failed to return after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode" on a device.
> Major issue is that UI gets stuck for minutes.
> Then i get a few "Received memory warning."
> As if somehow the memory stacked somewhere (but the whole point of making separate call was to avoid memory breakdown), so there might be a leak.
> At the end, it sometimes work / crash.
> Would there be a way to somehow use another thread for theses AddressBook operations?
> How could i prevent theses memory leaks?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira