【发布时间】:2014-10-01 09:41:41
【问题描述】:
阅读有关 Activity 生命周期的官方文档后,我遇到了一个问题 - 我如何在 onDestroy() 中了解我的 Activity 是被系统杀死还是被用户完成?我认为,在官方页面上并不完全清楚:
如果一个活动被暂停或停止,系统可以将它从 通过要求它完成(调用它的 finish() 方法)来存储内存,或者 简单地杀死它的进程。当活动再次打开时(之后 被完成或被杀死),它必须被重新创建。
但是下一篇关于 onDestroy() 的文章有点低:
在活动被销毁之前调用。这是最后的电话 活动将收到。它可以被称为是因为 活动正在结束(有人在上面调用了finish()),或者因为 系统正在临时销毁该活动实例以保存 空间。您可以通过以下方式区分这两种情况 isFinishing() 方法。
所以,我建议,在杀死我的活动期间,系统可以调用完成()(那么我如何区分 - 我的活动是被系统杀死还是由用户在 onDestroy()中完成?
【问题讨论】:
-
看看
onUserLeaveHint()developer.android.com/reference/android/app/… -
我会测试一下,谢谢!