在回答这里关于when onDestroy is called的问题时,出现了Android文档中出现不一致的地方。重新生成生命周期方法和返回键
android的文档“当用户按下后退按钮,当前的活动是从堆栈的顶部(活性被破坏)和前 活动弹出 恢复(其UI以前的状态恢复)。“
但在同一时间,the android lifecycle表明,活动不会自动销毁,而是暂停,如果UI部分隐藏,停止如果UI完全隐藏,并且仅在系统资源不足时销毁。
这是两个相反的位置。所以我的问题是 - 这是什么?
大声呼吁@Raghunandan在一段时间内与我一起来回踱步。希望我们能得到答案。
对于我所链接的问题问题,你可能是正确的。但是,如果在每次后退按下时总是自动调用destroy,则不需要'onRestart'方法。更好的是,如果应用程序只从活动状态进展到销毁状态,为什么还要有生命周期方法?如果你说的是真的,那么只有2种必需的方法 - onCreate和onDestroy。 – Rarw
@Rarw我建议[阅读更多'活动'生命周期](http://developer.android.com/training/basics/activity-lifecycle/starting.html#lifecycle-states)。活动在屏幕熄灭或另一个透明的“活动”放在它的前面时暂停。当您按下HOME或另一个不透明的“活动”放在堆栈上时,活动会停止。 BACK按钮并不是唯一可以调用生命周期方法的方法。 –
我不是在暗示返回是调用生命周期方法的唯一方法。我知道他们可以多次拨打电话,例如,如果您打电话或从屏幕顶部拉下菜单。但是我也不同意这个想法,即每次按下back时都会调用onDestroy。只要看看按下后退按钮时活动的行为。如果我一直回到家中,我的应用仍然保留在后台。如果所有的活动都是在后面立即销毁的话,情况就不会如此。您必须每次都从onCreate重新启动。 – Rarw