Activity生命周期

来源:互联网 发布:域名再长我也记得住 编辑:程序博客网 时间:2024/04/30 00:52
方法: 

1、onCreate():当Activity被创建的时候调用(第一次)。操作:设置布局文件,初始化视图,绑定数据文件等。 

2、onStart():当Activity能被我们看到的时候。 

3、onResume():当Activity获得用户的焦点的时候,就是能被用户操作的时候。 

4、onPause()[pause暂停的意思]:Activity暂停。应用程序启动了另一个Activity的时候。例子:来了一个电话,系统启动了电话Activity。在这个函数里要做的就是把Activity的数据保存起来,当接完电话的时候,再把这些数据读出来,把原来的Activity还原出来。 

5、onstop():当第二个Activity把第一个Activity完全遮挡住了的时候。对话框并没有把原来的Activity完全遮挡起来,不会调用。 

6、onDestroy():销毁Activity。1)调用了finish()方法。2)系统资源不够用了。 

函数调用过程: 
启动第一个Activity的时候: 
第一次创建onCreate()-->Activity可见了onStart()-->Activity可以操作了onResume()。 

点击第一个Activity上的按钮通过Intent跳到第二个Activity: 
第一个Activity暂停onPause()-->创建第二个ActivityonCreate()-->Activity可见onStart()-->Activity可操作onResume()-->第一个Activity被第二个Activity完全遮盖onStop()(如果调用了finish(),或者系统资源紧缺,则会被销毁onDestory())。 


点击系统返回功能建,从第二个Activity回到第一个Activity : 
第二个Activity暂停onPause()-->第一个Activity重启动OnRestart()(并没有被销毁,如果销毁了则要创建onCreate())-->第一个Activity可见onStart()-->第一个Activity可操作onResume()-->第二个Activity被完全遮盖onStop()(如果调用了finish(),或者系统资源紧缺,则会被销毁onDestory())。 

横竖屏切换时: 

没有设置android:configChanges属性时不会调用onConfigurationChanged方法,设置该属性之后才会调用,而且以上的6个生命方法也会根据android:configChanges属性的不同而影响调用的次数,具体可以自己一试。