我发现有关Activity lifecycle的官方文档不清楚。它充斥着诸如应该和可能之类的词汇,这让我想知道我必须。说到onStop() - 方法,文档说明如下:
注意:由于系统在停止时系统内存中保留了Activity实例,因此您可能根本不需要实现onStop()和onRestart()(甚至onStart()方法。
可能?我或不是吗?假设我有一些自定义组件依赖于在Activity类中定义为私有变量的一些标准Java对象。我是否需要在onStop方法中保留这些对象?在onRestart()触发时,我可以保证这些变量具有相同的内容吗?
编辑:link to table在回答中提及。
答案 0 :(得分:4)
对于您的具体问题,您需要考虑概览表中的 killable 列。 Android(pre-Honeycomb)在调用onPause()后认为您的Activity可以运行。因此,如果您需要持久性进行下一次调用,并且您希望在活动级别处理该问题,那么您将保存活动状态。