Android保存已杀死活动状态的时间有多长?

时间:2011-08-18 12:45:13

标签: android android-activity lifecycle

我刚做了一点测试:我启动了我的应用程序,进入某个屏幕,按下主页按钮并通过高级任务杀手杀死了该过程。

现在,如果我稍后回到我的应用程序,我会回到那个屏幕。我也知道在这种情况下会调用onRestoreInstanceState(),因为我已经玩了很多这个方法。

然而,出于好奇,我做了同样的事情,但是让我的手机躺了一段时间(一小时或者其他什么)。当我重新启动我的应用程序时,它直接进入主要活动。

所以我的问题是:Android保持多久保存状态?或者是什么决定它是否抛弃它?我已经发现它与锁屏开/关无关。

亲切的问候, 水母

3 个答案:

答案 0 :(得分:2)

活动已恢复,因为Advanced Task Killer等应用程序使用“非法”方法来查杀应用程序。当内存不足时,Android杀死应用程序是一种类似的方式,当杀死应用程序再次启动时,其状态将恢复。

Android保持应用程序状态已有一段时间了。通常它大概是15-30分钟,但我认为这取决于设备。但是你可以让Android使用android:alwaysRetainTaskState="true"属性“永远”保持活动状态(直到活动结束)。

答案 1 :(得分:0)

例如,当您使用Advanced Task Killer杀死应用程序时,应用程序将在下次重新启动主活动。我想应用程序将状态保存在文件中以恢复相同的活动,即使它被杀死了!

答案 2 :(得分:0)

Android会在需要活动所持有的资源(通常是内存)并且活动不在前台时处理活动。涉及的标准更多,但这是一般情况。除了“当它决定需要”时,没有预定义的时间限制或标准。应用程序几乎可以立即死亡,也可以无限期地保持不变。你永远不应该假设你的应用程序会被杀死,你永远不应该认为你的应用程序永远不会被杀死。