【发布时间】:2015-06-06 08:36:10
【问题描述】:
从文档中不清楚(至少对我来说)是否保证调用 Activity.onStop。有两个地方的信息看似矛盾。
- Activity.onStop 的 Javadoc:
请注意,在调用 onPause() 方法后系统没有足够内存来保持 Activity 进程运行的低内存情况下,可能永远不会调用此方法。
- Activity 类http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle 的文档(尤其是“Killable”列):
从 Honeycomb 开始,应用程序在其 onStop() 返回之前不会处于可终止状态。这会影响何时可以调用 onSaveInstanceState(Bundle)(它可以在 onPause() 之后安全调用,并允许应用程序安全地等待 onStop() 以保存持久状态。
要找到一种让两份文档都说真话的方法有点困难。我能想到的唯一场景是:假设您正在目标 API 21(最小 sdk 10)上开发并使用 onStop() 方法编写一个 Activity。如果您随后在 API 10 手机上运行此应用程序,则不能保证调用 onStop()。这种情况意味着上面第 1 点和第 2 点的文档都是正确的。否则,其中之一一定是假的。
【问题讨论】:
标签: android-activity activity-lifecycle