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、付费专栏及课程。

余额充值