根据android Activity Lifecycle,保证被调用的唯一回调(如果一个活动离开Running状态,通常是预期的那样)是onPause()
。
所以,我必须假设在某些情况下实施onStop()
和onDestroy()
是有意义的,尽管它们并非真正被保证被调用。
我理解当活动可能通过Stopped状态返回Running状态时应该实现onStop()
(为什么它会这样做而不是直接返回是一个不同的问题)。
但是,当我可以将所有清理/状态保存放入onDestroy()
时,onPause()
的需求对我来说还不清楚。
你能描述一下真实的应用情况(即不能驾驶汽车等),实施onDestroy()
是否合理?
答案 0 :(得分:25)
onDestroy;自己。
您的主要活动会在地图活动上调用startActivityForResult。
使用LocationListener映射活动,用户单击地图并选择说当地餐馆。
然后,活动设置一些额外内容以发送回主活动,然后显式调用finish();在onDestroy上,它会杀死LocationListener和你调用过的其他变量。
刚刚在文档中找到了这个
onDestroy()=在您的活动被销毁之前收到的最终通话。这可能是因为活动正在完成(有人在其上调用finish(),或者因为系统暂时销毁此活动实例以节省空间。您可以使用isFinishing()方法区分这两种情况。
答案 1 :(得分:3)
您能描述真实应用情况吗? (即与驾驶汽车不相似) 它是有意义的 实现onDestroy()?
如果要捕获配置更改。这一切都在SDK中: http://developer.android.com/reference/android/app/Activity.html