Activity 生命周期全析

简单记录一下activity常见的七个生命周期方法。
第一个 onCreate 方法

initView()方法(变量的声明和布局文件就不上传了,超入门的)


第二个  onRestart()

第三个 onStart()

第四个  onResume()

第五个 onPause()

第六个 onStop()

第七个  onDestroy()
这是我创建的Demo, 有三个activity,分别是MainAcitivity和TwoActicity以及ThreeActivity(记得注册以及样式),MainAcitivity里面重写了以上七个方法和initView(),两个button 。现在将demo运行到手机上,进行测试,看日志。
Action one:
点击Demo app 图标,开启程序。MainActivity处于运行状态
Action two:
点击手机上的home键,手机回到了桌面,MainActivity看不见了,这时的MainActivity还活着是存在的但不可见,MainActivity处于停止状态。

Action three:
再点击图标, MainAcitivity出现在屏幕最前端,MainActivity处于运行状态。

Action four:
点击button one,进入到TwoActivity,MainActivity看不见了(被完全覆盖了),MainActivity处于停止状态。

Action five:
点击手机上的返回键,TwoActiviy看不见了,MainActivity出来了,重回屏幕最前端了,MainActivity处于运行状态。
Action six:
点击button two,ThreeActicity出现在最前端,MainActivity没有被完全覆盖,依旧可以看见,MainActivity处于暂停状态。
Action  seven:
点击手机上的home键,手机回到了桌面或手机黑屏了,activity看不见了,MainActivity处于停止状态。
Action eight:
当点击图标或手机亮屏时,ThreeActivity和MainActivity又可见了,MainActivity处于运行状态

Acition nine:
点击手机上的返回键,ThreeActiviy看不见了,MainActivity出来了且完全可见了,重回屏幕最前端了,MainActivity处于运行状态。
Action ten:
点击手机上的返回键,MainActivity看不见了,程序退出,回到了桌面,MainActivity被销毁了。
 最后一点,当MainAcitivity处于暂停、停止状态时可能会被杀死,什么内存不足啊,什么极端情况啊,还没有遇到所以没有日志,可以看看Android生命周期图;当被杀死后在进入到MainActivity,会调用onCreat(),等于重新开启程序了(这个是我看图后的个人的理解)。这点有兴趣的可以深究,新手知道就可以了。

总结:
 
Activity有三个状态:
一、当activity在屏幕前台时(位于当前的顶部),它是处于激活或运行状态的,可以看见且可以相应用户操作的。

二、当activity上面有另一个activity,处于当前屏幕最顶端的activity是透明的或没有完全覆盖之前的activity,之前的activity对用户可见,这时之前的activity处于暂停状态。(有些绕口,不过明白这句了,整个生命周期你也就ok啦)

三、当activity被另一个activity完全覆盖且用户不可见时则处于停止状态,但仍然保留所有状态和成员信息。

                                                                                       




                                                                                         Activity 生命周期图

                                                    
 

你可能感兴趣的:(Activity 生命周期全析)