Activity的基类定义了管理一个活动的生命周期的一系列事件。该类定义了如下事件:
onCreate()——当活动首次被创建时调用。
onStart()——当活动对用户可见时调用。
onResume()——当活动与用户开始交互时调用。
onPause()——在当前活动被暂停并恢复以前的活动时调用。
onStop()——当活动不再对用户可见时调用。
onDestroy()——在活动被系统销毁(手动或由系统执行以节省内存)前调用。
onRestart()——在活动已停止并要再次启动时调用。
onSaveInstanceState(Bundle outState)——Activity被系统杀死时被调用,例如:屏幕方向改变时,Activity被销毁再重建;当前Activity处于后台,系统资源紧张将其杀死. 另外,当跳转到其他Activity或者按Home键回到主屏时该方法也会被调用,系统是为了保存当前View组件的状态. 在onPause之前被调用。
onRestoreInstanceState(Bundle savedInstanceState)——Activity被系统杀死后再重建时被调用. 例如:屏幕方向改变时,Activity被销毁再重建;当前Activity处于后台,系统资源紧张将其杀死,用户又启动该Activity. 这两种情况下onRestoreInstanceState都会被调用,在onStart之后。
下面将呈现Acrivity的生命周期图
我们再进一步解析这幅图
1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏,系统会调用onPause方法,暂停当前Activity的执行。
3.当前Activity由覆盖状态回到前台或解锁屏(此时状态为可见的,若不可见,执行4,5,6)。系统会调用onResume方法,再次进入运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
7.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。
因此,我们有如下的结论
使用onCreate()方法创建和实例化将在应用程序中使用的对象。
使用onResume()方法启动当活动位于前台时需要运行的任何服务或代码。
使用onPause()方法停止当活动不在前台时不需要运行的任何服务或代码。
使用onDestory()方法在活动销毁前释放资源。
因为所学知识就那么多- -,以后如果学到更多的知识,我会加以补充。