前面早就接触了Activity,算然经常用,但是内在很多细节还是不了解了。就拿Activity的生命周期来说,大家都说比较重要!7大生命周期也熟记于心,但就当前的接触的来说,我所经常使用到的几个周期也就那么几个而已。总的来说是接触太少了,想要学好还是需要多实践实践才行!
今天也就初步的整理一下Avtivity生命周期,以后理解深入了,再回来重新看。
下面一张经典图
Activity处理的方式是基于回调的机制,当Acitvity被部署在Android应用中之后,随着应用程序的运行,Activity会在不同状态中来回切换,该Activity中特定的方法就会被回调。因此开发者可以选择性的重写这些方法来加入相应的业务处理。
以上7步状态可以总结归纳为一下:
活动状态
当前Activity位于前台,用户可见,并且可以获得焦点暂停状态
其他Activity位于前台,但是该Activity依然部分可见或锁屏,不能获得焦点停止状态
该Activity完全不可见时,失去焦点销毁状态
Activity主动结束掉,或Activity所在的Dalvik进程被结束。
至于Activity的生命周期,我觉得要根据具体的业务来理解了:
1.正常启动Activity:
onCreate-->onStart-->onResume-->运行状态。
2.当前Activity被其他Activity覆盖其上(依然可见)或被锁屏:
运行状态-->onPause-->暂停状态。
3.当前Activity由被覆盖状态回到前台或解锁屏:
暂停状态-->onResume-->运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏:
运行状态-->onPause-->onStop-->停止状态。
5.重新进入Activity:
停止状态-->onRestart-->onStart-->onResume-->运行状态。
6.finish当前Activity:
运行状态-->onPause-->onStop-->onDestory
7.当前Activity处于暂停状态或停止状态,系统内存不足,当前Activity被销,而后用户再次进入当前Activity:
onCreate-->onStart-->onResume-->运行状态。
8.屏幕状态改变:
运行状态-->onSaveInstanceState-->onPause-->onStop-->onDestroy-->onCreate-->
onStart-->onRestoreInstanceState-->onResume