安卓开发生命周期解释

打开安卓开发者文档

下面有一张图:详细的介绍了app的生命周期: 来自于官方文档:



如图所见,我们看见了7个生命状态,下面这个截图,介绍了每种生命状态所对应的调用情况:


 第一个方法 onCreate()  :

app在第一次调用的情况就会调用这个方法,在这个方法中你应该做的事情为:正常的静态设置:创建视图,将数据绑定到列表,等。onCreate()方法也提供了一个Boun也为您提供了一个入口,它的作用在于,如果你的Activity之前已经创建过然后关闭了,下次再启动的时候,这个Bundle参数就会把之前保存的一些数据传递过来,即Activity再次onCreate()的时候会直接恢复到之前的状态。接下来的就会调用onStart()方法


      第二个方法onRestart()

      只有在Activity经历了onStop()但并没有onDestroy()的时候,再次运行这个Activity就直接会走到onRestart()方法。此时各种变量还保存着,并没有被回收掉,Activity只需要重新绘制界面而已。

     第三个方法 onStart():

     当Activity执行这个方法的时候,Activity对用户来说已经是可见的了。但此时,用户还不能与Activity进行操作交互。

     第四个方法 onResume()

这时候,Activity启动后必须走的一套流程已经走完了,此时用户不仅可以看到界面,还能进行相关的操作(如在EditText里面输入啦,点击Button啦)。在存放Activity的栈stack中,一个执行了onResume()后的Activity处于栈的最顶层,这并不难理解,在任何时候,你的系统只能有一个Activity处于这个状态。


第五个方法onPause()

当系统要恢复之前的某个Activity的时候,当前Activity会执行onPause()方法,在这个阶段通常会把一些未保存的数据保存起来,停止动画和其他一些消耗CPU的事情。onPause()一定要执行的快速,因为在它执行完毕之前,下一个Activity是无法恢复的,也可以认为,onPause()如果执行的慢了,就会把主线程阻塞。

第六个方法onStop()

当一个Activity对于用户来说不再可见的时候,就会执行onStop()方法,此时会有其他的Activity处于onResume()的状态并将处于onStop()的Activity覆盖掉。当从当前Activity启动一个新的Activity的时候,或者退出当前Activity以及杀死当前Activity的时候,都会执行onStop()方法。

第七个方法onDestroy()

这是一个Activity生命周期中的结束阶段,当你主动finish或者系统因为内存不足而杀死一个Activity的时候,就会执行onDestroy()方法。这个时候,Activity就彻底关闭了,占用的一些资源也会被释放掉(如果没有释放完全,那就是程序写的有问题,产生内存泄漏了)。


      


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值