当我按下Droid上的睡眠按钮时,我的活动的oncreate被调用。为什么会这样?操作系统为什么要在设备进入睡眠状态时调用OnCreate?有没有办法阻止它,或者至少知道它是因为手机进入睡眠状态?
答案 0 :(得分:22)
特别是对于锁定在旋转中的活动,例如,在活动标签的清单中有这个:
android:screenOrientation="portrait"
当您关闭屏幕时,它会读取加速度计以确定真正的方向并在关闭之前更改为该方向。
所以,是的,简单的解决方案是添加configChanges,使它看起来像这样:
<activity
android:name=".MyActivity"
android:screenOrientation="landscape"
android:configChanges="orientation"
/>
你不需要指明screenOrientation,但是如果你没有指明它在启动时的位置,那么除非你编写代码来处理配置更改。
作为旁注,当我开始在ICS上测试我的应用程序时,我必须在一些活动开始时处理一些带有创建/销毁/创建周期的怪癖。为使代码具有通用性,需要进行一些额外的检查和平衡。
答案 1 :(得分:10)
我有同样的Prob我的应用程序(游戏)重新加载,只要它来自睡眠
这里我做了什么来解决它
我添加
<activity
android:configChanges="orientation|screenSize"
/>
希望这会对某人有所帮助!