Android:Activity的生命周期

也是看了《Android第一行代码》中有关这个内容来写的。
  Activity的生命周期对于管理资源和提供良好流畅的程序应用体验有着很关键的作用。其实说出这样的话相当底气不足,目前android还写的不多,以后慢慢在实践中更多地体会吧,现在先整理一下有关知识点。
  首先简要介绍一下,每个活动在其生命周期至多会有四种状态:
  1.运行状态:
  当一个活动在返回栈顶部的时候
  2.暂停状态:
  当一个活动不在栈顶但仍然可见时
  3.停止状态:
  当不在栈顶且完全不可见
  4.销毁状态:
  从返回栈移除时
(返回栈:Android中的活动可以叠层的,每启动一个新活动就会覆盖之前的,每返回一次就会销毁最上面的活动)

然后,两张图(浓缩的精华):更详细地了解

相关方法的详细情况

这里写图片描述

生命周期整个流程

这里写图片描述
 
 接下来就写个程序来实现一下:
 
MainActivity界面:两个按钮分别可以跳转到两种界面

这里写图片描述

第二个activity界面(全覆盖)

这里写图片描述

对话框式的界面(悬浮式)(还是一种activity,只需在 AndroidMainifest.xml里设置android:theme="@android:style/Theme.Dialog"即可)

这里写图片描述

操作和对应的结果如下:
点开MainActivity:一个新的Activity创建,然后启动,然后显示在最前。
onCreate()->onStart()->onResume()
这里写图片描述

在MainAcitivity页面点开Start Normal activity按钮,跳到第二页面:

暂停mainactivity获得焦点,然后失去显示:onPause()–>onStop()
这里写图片描述

返回MainAcivity页面:被暂停的activity重新启动,
onRestart()->onStart()->onResume()
这里写图片描述

在MainAcitivity页面点开Start Normal activity按钮,弹出对话框,MainAcitivity页面依然可见,但对话框获取焦点:onPause()
这里写图片描述

取消对话框,MainAcitivity重新获取焦点:onResume()
这里写图片描述

退出MainAcitivity,这时候整个activity都会被销毁:onPause()–>onStop()–>onDestory()
这里写图片描述

猜你喜欢

转载自blog.csdn.net/Findingxu/article/details/52422586