当电话进入睡眠状态时,活动OnCreate被呼叫

时间:2010-11-10 20:18:29

标签: android

当我按下Droid上的睡眠按钮时,我的活动的oncreate被调用。为什么会这样?操作系统为什么要在设备进入睡眠状态时调用OnCreate?有没有办法阻止它,或者至少知道它是因为手机进入睡眠状态?

2 个答案:

答案 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"
/>
希望这会对某人有所帮助!