一、Activity的四种状态
Running(运行中):表明Activity处于活动状态,用户可以点击屏幕可以作出响应,也是处于Activity栈顶的状态。
Paused(暂停):表明Activity失去焦点的时候,或者被一个非全屏的Activity占据(一个透明的Activity位于栈顶),内存紧张的时候可能被回收。
Stopped(停止):当前Activity完全被覆盖的时候,内存紧张依然被回收。
Killed(被杀死):表明Activity被系统回收了,所保存的信息、成员变量都不存在了。
二、Activity生命周期分析
1. Activity首次打开会执行如下生命周期方法:onCreate()->onStart()->onResume()
onCreate():生命周期第一个调用的方法,可以做数据加载、图片预加载操作。
onStart():表明Activity正在被启动,处于用户可见的状态,但是并没有处于前台显示,用户还不能与这个Activity进行交互、进行点击、滑动(已经看见,但无法触摸的状态)
onResume():表明Activity已经前台可见了,可以与用户交互了、触摸、滑动等操作。
2.点击Home键回到主界面(Activity不可见)执行的方法:onPause()->onStop()
onPause():表明Activity处于停止状态(可见,但不能触摸)。
onStop():onPause()方法执行完调用,表明Activity已停止,完全被遮住覆盖(内存紧张,可能被回收)。
3.当再次回到原Activity时,会执行以下方法:onRestart()->onStart()->onResume()
onRestart():表示正在重新启动,由不可见变为可见。
onStart():表明Activity正在被启动,处于用户可见的状态,但是并没有处于前台显示,用户还不能与这个Activity进行交互、进行点击、滑动(已经看见,但无法触摸的状态)。
onResume():表明Activity已经前台可见了,可以与用户交互了、触摸、滑动等操作。
4.退出当前Activity时,执行以下生命周期方法:onPause()->onStop()->onDestroy()
onPause():表明Activity处于停止状态(可见,但不能触摸)。
onStop():onPause()方法执行完调用,表明Activity已停止,完全被遮住覆盖(内存紧张,可能被回收)。
onDestroy():Activity生命周期最后一个方法,可以做一些资源回收释放工作