PhoneGap - 通过应用程序图标恢复时,Cordova /应用程序在5秒内冻结

时间:2014-09-03 08:36:00

标签: ios angularjs cordova

我拥有一个AngularJs应用程序,我通过Cordova转换为本机应用程序。

整个在iOS(iphone)上工作,但我只是注意到如果我把应用程序放在后台,然后重新打开/恢复它,应用程序有时候会冻结"大约5秒然后工作。 没有滚动,没有点击事件,持续5秒。

这有什么原因吗?怎么避免呢?这非常令人沮丧。

我发现导致问题的代码:

document.addEventListener("resume", function () {
                    $rootScope.$broadcast('retrieveAllNotifications', null);
            }, false);

所以,根据文件:

  

恢复事件触发时的alert()等交互式功能   需要包含在超时值为零的setTimeout调用中,   否则应用程序将挂起。 e.g。

所以我转变为:

document.addEventListener("resume", function () {
                $timeout(function () {
                    $rootScope.$broadcast('retrieveAllNotifications', null);
                }, 0);
            }, false);

但它仍然悬而未决。

然而,当我删除广播时,它可以正常工作。

如何解决?例如,将超时时间增加到1秒?

1 个答案:

答案 0 :(得分:0)

实际上,我注意到我检索了超过500个以HTML格式显示(但隐藏)的通知。

我所做的就是删除大量通知,我注意到不再冻结。

对于phonegap应用而言,它太重了,不会一次显示500个通知。