【发布时间】:2021-10-17 02:14:09
【问题描述】:
我想了解和模拟 Android 何时调用我的活动的onDestroy(),不破坏整个过程。我没有打电话给finish(),我想让Android自行销毁我的活动。
来自activity-lifecycle documentation:
系统从不直接杀死活动以释放内存。相反,它会杀死 Activity 运行的进程,不仅会破坏 Activity,还会破坏进程中运行的所有其他内容。
但是Android Activity documentation 说:
发生这种情况 (onDestroy) 可能是因为 [...] 系统正在临时销毁该 Activity 实例以节省空间。
那么它是哪一个? Android 是在内存不足时销毁 Activity,还是只杀死整个进程?
我想模拟一种情况,Android 杀死活动而不杀死整个进程。 我可以通过使用“不保留活动”开发者模式设置来模仿这一点,但我想了解这在现实世界中是如何发生的。
【问题讨论】:
-
如果您有低内存设备并且您的应用有一个活动堆栈系统可以销毁(并保存实例状态)底部的以节省内存,同时仍在您的应用进程内。
-
另一种常见的情况是方向改变(Activity被销毁并以新的方向重新创建)
标签: android android-activity activity-lifecycle