android休眠杀死应用程序-onDestroy

android休眠杀死应用程序-onDestroy,android,hibernate,ondestroy,hibernation,Android,Hibernate,Ondestroy,Hibernation,我正在android 2.2上使用API level 8进行开发 我读到这篇关于android应用程序生命周期的文章: 但是没有关于休眠状态以及如何正确处理它的评论 当我关闭设备时(当我的应用程序仍在运行时),操作系统会调用onDestroy方法。。。 当我打开设备时,我的应用程序会从头开始,操作系统会调用onCreate方法 如果操作系统在休眠时只调用onPause/onResume,会更好,不是吗 我看了一下安卓系统上的愤怒的小鸟,当设备打开时,它仍然活着,它们不会重新加载纹理或其他任何东西

我正在android 2.2上使用API level 8进行开发

我读到这篇关于android应用程序生命周期的文章: 但是没有关于休眠状态以及如何正确处理它的评论

当我关闭设备时(当我的应用程序仍在运行时),操作系统会调用onDestroy方法。。。 当我打开设备时,我的应用程序会从头开始,操作系统会调用onCreate方法

如果操作系统在休眠时只调用onPause/onResume,会更好,不是吗

我看了一下安卓系统上的愤怒的小鸟,当设备打开时,它仍然活着,它们不会重新加载纹理或其他任何东西,比如一瞬间


那么如何做到这一点呢?:)

您需要一个部分唤醒锁定,这样即使屏幕关闭,您的应用程序也能继续运行。在部分唤醒锁定中,CPU不会进入睡眠状态,只有屏幕变暗。我想这就是愤怒的小鸟游戏所做的

在清单xml文件中添加:

  • android:launchMode=“singleTask”
  • android:configChanges=“键盘隐藏|方向”

thx对于Chris和所有人来说

仅仅为了更快的恢复而保持唤醒锁似乎是一种不好的做法,因为这会损害电池寿命。如果你真的坚持这样做,至少要暂停一段时间,然后释放它。是的,无限期地持有锁是个坏主意。你也可以尝试保存所有UI状态并重新生成,这样用户就不会觉得应用程序已经重新启动。是的,将其锁定在休眠状态似乎不是一个好主意,我从愤怒的小鸟应用程序中读取了清单xml文件,他们没有使用“唤醒锁定”权限,所以他们似乎没有使用此方法……我还尝试了“getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)方法,也没有机会。。。onDestroy方法是从操作系统调用的,活动被终止只是猜测,但您的应用程序可能由于CPU挂起以外的原因而被销毁和重新创建。例如,如果您不处理配置更改,方向更改可能会导致销毁/创建循环,并且每次屏幕关闭/打开时,许多设备都会(莫名其妙地)更改您的方向。