incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Olivier Louvignes (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CB-828) iOS contact.save() stucks the UI from updating on heavy load
Date Fri, 25 May 2012 13:28:26 GMT
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

        

Mime
View raw message