Ios PhoneGap-通过应用程序图标恢复时,Cordova/应用程序在5秒内冻结
我拥有一个AngularJs应用程序,我通过Cordova将其转换为本地应用程序 整个程序都可以在iOS(iphone)上运行,但我刚刚注意到,如果我将应用程序放在后台,然后重新打开/恢复,应用程序有时会“冻结”大约5秒钟,然后才能运行。 无滚动,无点击事件,持续5秒 有什么已知的原因吗?如何避免呢?这很令人沮丧 我找到了导致问题的代码:Ios PhoneGap-通过应用程序图标恢复时,Cordova/应用程序在5秒内冻结,ios,angularjs,cordova,Ios,Angularjs,Cordova,我拥有一个AngularJs应用程序,我通过Cordova将其转换为本地应用程序 整个程序都可以在iOS(iphone)上运行,但我刚刚注意到,如果我将应用程序放在后台,然后重新打开/恢复,应用程序有时会“冻结”大约5秒钟,然后才能运行。 无滚动,无点击事件,持续5秒 有什么已知的原因吗?如何避免呢?这很令人沮丧 我找到了导致问题的代码: document.addEventListener("resume", function () { $rootScop
document.addEventListener("resume", function () {
$rootScope.$broadcast('retrieveAllNotifications', null);
}, false);
因此,根据文件:
当resume事件触发时,将启动诸如alert()之类的交互式函数
需要包装在超时值为零的setTimeout调用中,
否则应用程序将挂起。e、 g
因此,我转变为:
document.addEventListener("resume", function () {
$timeout(function () {
$rootScope.$broadcast('retrieveAllNotifications', null);
}, 0);
}, false);
但它仍然挂着
但是,当我删除广播时,它会工作
如何修复它?例如,将超时时间增加到1秒?实际上,我注意到我检索了500多个以HTML显示(尽管隐藏)的通知 我所做的是删除了很多通知,我没有注意到更多的冻结 对于phonegap应用程序来说,一次显示500条通知而不被冻结实在是太重了