第一行代码_activity生命周期
这类文章基本上已经是烂大街了,不过我今天仍然要给自己做一遍梳理,因为通过昨天的项目我发现自己还是不太懂activity的各个生命周期;各位看官勿喷;
七个生命周期及其作用
- oncreat 完成初始化操作,加载布局绑定事件
- onstart 界面由不可见变成可见的时候调用;
- onresume 在活动准备好和用户进行交互的时候进行调用,此时的活动一定位于栈顶,并且可见;,而且处于运行状态
- onpause 界面消失
- onstop 当a被b完全覆盖,消失不见,和上个方法的区别是如果启动的是一个对话框类型的活动,这个onstop就不会得到执行;
- ondestory 彻底销毁这个框架view树
- onrestart 当从a跳转到b,然后回退到a时,这个方法就会重现,虽然视图被销毁,但是他的框架还在,这时重现视图,这个方法就会被调用
activity的生命状态
- 运行状态
- 暂停状态
- 停止状态
- 销毁状态
这时由于Android中的活动是可以层叠的,我们每启动一个新的活动,就会覆盖在原来的活动之上,其实这又涉及到Android的四种activity的启动方式,我们这里是Android默认的方式.
向上一个活动返回数据和向下 一个活动传递数据
向下一个活动传递数据,通过intent来启动,同时intent.putExtra()方法将数据绑定到intent之中,然后在下一个数据中用
data=intent.getStringExtra(); //getIntExtra getBooleanExtra
向上返回数据就不得不说下startActivityForResult(),这个方法是期望在活动ondestroy时候返回一个结果给上面的一个activity,这时上面的activity的onresume() onrestart()方法还没有执行,所以这也验证了我们是看不到第一个界面他就可以又在重写的onActivityRessult()中重启宁外一个界面;
这里再补充一个activity的保存,当结束activity时,调用onsaveIntanceState()保存一些临时数据
转载请注明来源谢谢