为什么我们在关闭应用程序时仅在Android中调用主要活动ondestroy

时间:2019-03-18 17:36:44

标签: android

我的android应用程序包含许多活动。打开应用程序时调用的第一个活动是“登录”活动。之后,用户导航到许多活动。但是,当用户关闭应用程序时,只会调用Login活动的onDestroy方法。为什么Android系统仅在onDestroy上调用第一个活动,而不在其他上调用? 如果系统被设计为仅在onDestroy上调用第一个活动,那么我们是否可以确保每次关闭应用程序时都会调用该活动?

2 个答案:

答案 0 :(得分:0)

根据onDestory()的Android开发者文档

  

在某些情况下,系统会简单地杀死活动的   托管进程,而不在其中调用此方法(或任何其他方法),因此   它不应用于做打算保留的事情   该过程消失后。

答案 1 :(得分:0)

我有一个类似的问题。

简而言之,其他 Activity 也被系统完全关闭,但它们的 onDestroy() 方法不会被调用。他们只会被杀。仅调用主要活动的 onDestroy()

阅读本文,valeonom 的评论:

https://www.reddit.com/r/androiddev/comments/2s2hqh/whats_the_point_of_ondestroy_if_we_can_never/

还有这个:

Why only the first activity's `onDestroy` is called, not other activities?