![](/img/trans.png)
[英]When the android Kill the app will onDestroy() method will be called first?
[英]Is onDestroy always called when android destroys activity to save memory but does not kill App?
我想使用Application.ActivityLifecycleCallbacks
来监视后堆栈中有多少个活动。 我可以在onCreate / onDestroy中增加/减少计数器来处理吗?
不保证每次活动销毁时都会调用onDestroy。
如果用户单击以销毁它,则将调用onDestroy。
如果用户从最近的应用程序菜单中滑动应用程序,则不会调用onDestroy。
如果应用程序崩溃,则无法确定它是否会被调用(根据我的经验,它没有被调用)。
onDestroy()是在Activity实例销毁并从内存中完全删除之前对其进行调用的最终方法。 在极端情况下,Android可能会终止托管Activity的应用程序进程,这将导致无法调用OnDestroy。 显然,大多数活动都不会实现此方法,因为大多数清理和关闭操作都是通过OnPause和OnStop方法完成的。 有关更多详细信息,请访问Android Developers Portal。 ( https://developer.android.com/reference/android/app/Activity.html “ Android开发人员”)
当Android销毁活动以节省内存时,是否总是调用onDestroy?
是
文档:
活动销毁之前收到的最后一个电话。 这可能是由于活动即将完成(有人在其上称为finish()
,或者因为系统正在临时销毁此活动实例以节省空间。您可以使用isFinishing()
方法区分这两种情况。
我想使用Application.ActivityLifecycleCallbacks来监视后堆栈中有多少个活动。 我可以在onCreate / onDestroy中增加/减少计数器来处理吗?
最好用onStart()
和onStop()
方法来应对,onCreate()不能保证可见性。 例如,如果某种原因阻止了onStart()
的发生。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.