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/08/23 20:13:42 UTC

[jira] [Closed] (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 ]

Becky Gibson closed CB-828.
---------------------------

    Resolution: Fixed
      Assignee: Becky Gibson  (was: Shazron Abdullah)

solved mobile spec issus

fixed with this commit:  https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-ios.git;a=commit;h=1a0dcb7ae52f6f6606a35130cae04e5784b6c5ca


                
> 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: Becky Gibson
>              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