按后退按钮后 Android Activity 的生命周期
-
21-12-2019 - |
题
我对两个活动的生命周期有点困惑。
假设我有活动 A 和活动 B。
B 被称为来自 A,即 A ----> B
.
现在目前 B
出现在屏幕上,我按下了后退按钮。我想知道:- 是否还有可用的内存 B
(主动)或 B
的内存被刷新(非活动)。
解决方案
假设有一个活动 A,您从中启动活动 B。如果在活动 B 中按下后退按钮,则会将活动 B 从堆栈中弹出,并且 B 将不再位于活动堆栈中。
每当您将 Activity 推入堆栈时, onCreate
被调用,如果你按后退按钮, onDestroy
被调用,这意味着该活动被冲走。
请访问我的博客以获取更多信息:http://upadhyayjiteshandroid.blogspot.in/2013/02/android-lifecycle.html
请访问了解更多
http://developer.android.com/guide/components/tasks-and-back-stack.html
http://developer.android.com/training/basics/activity-lifecycle/starting.html
其他提示
按下后退按钮后,将调用以下活动回调方法。
onPause()
onStop()
onDestroy()
活动被破坏。
再次启动时它会重新创建。这些是再次启动时的回调方法。
onCreate()
onStart()
onResume()
我知道答案已被接受,但如果这对某人有帮助,我仍然会提出来。
当应用程序第一次打开时,通过单击图标
onCreate()
onStart()
onResume()
当按下主页按钮时
onPause()
onStop()
当通过单击应用程序图标再次打开应用程序或从最近启动的应用程序时
onRestart()
onStart()
onResume()
当应用程序打开然后按下后退按钮时
onPause()
onStop()
onDestroy()
Activity B 将被销毁并且不再保留在内存中。
欲了解更多信息,请访问 安卓官方文档 并查看活动生命周期图。
一旦按下后退键,活动的 onDestroy() 方法将被调用,并且活动将从内存中刷新。然后,您将需要通过调用 startActivity() 方法来重新启动活动,该方法又将调用其 onCreate() 方法。
我建议参考以下链接了解活动生命周期
http://stackoverflow.com/a/8516056/3110609
以及以下活动启动模式的链接。
www.intridea.com/blog/2011/6/16/android-understanding-activity-launchmode