的期望的行为是这样的:与PhoneGap的旋转Android设备崩溃
在旋转的布局被重建 - 以适应新的屏幕大小。重建是用JQuery和数学 - 而不是CSS完成的。
脚本状态必须保持不变,同时运行计时器等等。这些应该像没有任何事情发生一样继续。在清单中的所有活动,以处理方向改变自己(注| configChanges =“keyboardHidden方向”:我
为了实现这个我做了这个:
将机器人m没有针对某些API,所以我想它默认为API 1.这意味着将screenSize添加到configChanges是不必要的)。
增加对orientationchange收听者:
window.onorientationchange =函数(){ VAR取向= window.orientation; switch(orientation){ case 0: updateScaling(); 休息;
case 90: updateScaling(); break; case -90: updateScaling(); break; } }
updateScaling只调整布局。
这有时会起作用,但有时会导致设备崩溃(仿真器以及真实设备)。在模拟器的日志中,我看到以下警告:
WARN/ActivityManager(73):启动超时已过期,放弃唤醒锁!
我做了研究,发现添加较长loadUrlTimeoutValue的活动可以帮助,和好,我加super.setIntegerProperty(“loadUrlTimeoutValue”,60000);到主要活动,但如预期也没有帮助。
我发现很多人抱怨PhoneGap的旋转问题。也许框架只是在这方面的越野车?我也用苹果设备进行测试,在那里我甚至无法捕捉旋转事件 - iPhone模拟器甚至没有改变方向,iPad改变了它,但事件处理程序没有被调用,并且布局保持相同的大小。我尝试使用一种解决方法,我发现附加一个侦听器到文档。但它也没有帮助。
旋转设备时是否有完全可靠的方法来重建布局?如果没有,我可以禁用应用程序初始化后的旋转(也就是说,我不想修复纵向或横向 - 我希望应用程序在使用当前初始化后禁用旋转更改)。有没有可靠的方法来做到这一点?
感谢