You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Becky Gibson (JIRA)" <ji...@apache.org> on 2012/06/20 16:18:42 UTC
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13397536#comment-13397536 ]
Becky Gibson commented on CB-828:
---------------------------------
There will be fairly big changes to contacts for ARC. Not sure if that will address the above issues but no sense implementing threading until ARC conversion and elimination of 3.0 support is complete.
> 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: 1.9.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