Android的四大组件之Activity生命周期详解

一、Two是普通的Activity,能够完全挡住One

1.One初始化的时候

onCreate(One)--> onStart(One)--> onResume(One)

 

2.当从One跳到 Two的时候

onPause(One) --> onCreate(Two) --> onStart(Two) -->onResume(Two) --> onStop(One)

 

3.按了back(返回),会销毁Two,重新显示One

onPause(Two) --> onRestart(One) --> onStart(One) -->onResume(One) --> onStop(Two) -->onDestroy(Two)

 

4.再按一次back(返回),会销毁One

onPause(One) --> onStop(One) --> onDestroy(One)

 

二、Three是对话框形式的Activity 或者  是透明的activity,不能完全挡住One

1.One初始化的时候

onCreate(One) --> onStart(One) -->onResume(One)

 

2.当从One跳到 Three的时候

onPause(One) --> onCreate(Three) -->onStart(Three) -->onResume(Three)

 

3.按了back(返回),会销毁Three,重新显示One

onPause(Three) --> onResume(One) -->onStop(Three) -->onDestroy(Three)

 

4.再按一次back(返回),会销毁One

onPause(One) --> onStop(One) -->onDestroy(One)

 

 

三、生命周期总结

1.一个activity的完整生命周期

onCreate(创建生命) --> onStart(完全可见)  --> onResume(获取焦点,开始跟用户进行交互)

                                              ↓如果要销毁了

onDestroy(失去生命) <-- onStop(完全不可见) <-- onPause(失去焦点,停止跟用户进行交互)

 

2.可见循环

onSatrt --> onResume --> onPause --> onStop --> onRestart --> onStart

 

3.焦点循环

onResume --> onPause --> onResume

 

4.当系统内存不足的时候,自己的activity可能会被系统自动销毁并回收,这时候系统就会调用onSaveInstanceState让用户保存临时数据,并把数据保存到Bundle outSate中。当重新创建activity的时候,就会将Bundle outSate传到onCreate

 

5.其实onSaveInstanceState只适合保存一些临时数据,保险起见,应该在onPause里面保存activity的状态

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值