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