应用程序启动时卡死,Phonegap警报不起作用。

4

当我第一次从主屏幕启动我的应用程序时,一切都很好 - 没有冻结。

当我在以后的时间使用该应用程序时,突然当我从主屏幕点击它时,有时它会在冻结5秒钟(即仅停留在主屏幕上),然后才会加载。这不是故事的结尾。

该应用程序并非每次第一次加载后都会冻结;但是,一旦它开始从主屏幕冻结,它就会继续这样做,直到我强制停止该应用程序。

在出现此类情况后,某些Phonegap功能将无法正常工作。例如,navigator.notification.alert会使背景变暗,但没有弹出窗口。唯一的退出方式是点击手机的后退按钮。

我该如何防止应用程序在打开时冻结,从而导致其他Phonegap功能无法正常工作?

(这是Phonegap 2.9.0版本; 然而,我在2.5.0版本中遇到了同样的问题)

感谢所有的帮助,谢谢!


我遇到了类似的问题。当我的应用程序安装在设备上,并且我等待3-4个小时后再次启动应用程序时,它会冻结。警报document.addEventListener('deviceready', function() { try {alert('Device is ready!'); ...没有被触发。应用程序会冻结(而不是崩溃)。这种情况发生在phonegap 2.7和2.4上。 - binoculars
1
@binoculars 你的应用程序使用AdMob吗?我的是。我正在尝试弄清楚那是否是问题的一部分。 - Hope4You
我的应用程序不使用AdMob... - binoculars
1个回答

1
添加
super.setBooleanProperty("keepRunning", false);

在您的主要 .java 文件中,在 super.loadUrl 之前加入这段代码对我有用。
同时,由于漫长的调试时间,我的应用程序有了“可能的错误修复”超载。我认为上面的代码是真正的解决方法,但这里还有一些其他的更改:
添加到主要的 .java 文件中(在 super.loadUrl 之前):
super.setIntegerProperty("loadUrlTimeoutValue", 60000);

添加到Android清单文件中(在应用程序标签中):

android:clearTaskOnLaunch="true"

编辑:

另外,请尝试在您的Android清单中使用以下设置:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />

谢谢,我会将其标记为正确的。不过出于某种原因,我不再遇到这个问题了;但是我在config.xml中将keepRunning设置为false以防万一。 - Hope4You

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接