Activity的生命周期解读
Activity是Android重要的组件之一,开发Android程序第一个接触的应该就是Activity,
如果对Activity的生命周期一知半解了解的不够透彻,那开发过程绝对是一步一个坑。
下面让我们详细了解一下Activity的生命周期。
每个方法的调用时间和场景
1.onCreate():当Activity创建启动时调用,Activity在整个生命周期中只会调用一次该方法。
2.onStart():当处于可见状态时调用,在调用onCreate()后紧接着就调用onStart()方法。
3.onResume():此时的Activity已经正式处于运行状态,该方法在onStart()后紧接着调用。
--------------------在onResume()后Activity的启动过程完成
4.onPause():当前Activity失去焦点后调用,也就是当前Activity没有被正在操作,部分不可见。
5.onStop():当前Actitvity被完全覆盖不可见时调用,例如启动了一个新的Activity、按Home键返回主屏等。
6.onDestory():当Activity被从栈中去除时调用,此时Activity死亡,一般在此方法中做一些资源释放的操作。
Activity整个生命周期解析
- 启动Activity
系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
- 当前Activity被其他Activity覆盖一部分或者手机被锁屏时,
此时系统调用onPause()方法,Activity暂停执行。
- 当前Activity由被覆盖(一部分)状态回到前台或解锁屏
系统会调用onResume方法,再次进入运行状态。
- 当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台
系统会先调用onPause方法,然后调用onStop方法,进入停滞状
- 用户后退回到此Activity系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
- 当前Activity处于被覆盖状态或者后台不可见状态,当更高优先级的apps需要内存,系统内存不足系统就会杀死当前Activity
- 而后用户退回当前Activity再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
- 用户退出当前Activity系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。
小提示:
从Activity_A跳转到Activity_B时调用的方法(从onResume()起)
A:onResume(),onPause()
B:onCreate(),onStart(),onResume()
A:onStop()