Olivier Louvignes created CB-828:
------------------------------------

             Summary: iOS contact.save() stucks the UI from updating on heavy 
load
                 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


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 :

[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, ends up crashing.

Would there be a way to somehow use another thread for theses AddressBook 
operations?

--
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

        

Reply via email to