activity生命周期的三个状态
1.运行状态
activity对用户是可见,有焦点,可以处理用户的常见操作:如点击、双击、长按事件等
2.暂停状态
activity对用户仍可见,不再拥有焦点,但当内存不足,暂停状态的activity可能会被杀死
3.停止状态
activity对用户完全不可见,但仍保留着当前的状态和成员信息,当内存不足时,这个activity很容易被杀死
activity从一种状态到另一种状态会触发一些事件,执行一些回调方法来通知状态的的变化,具体方法如下:
onCreate(Bundle savedInstanceState):创建时执行
onStart():可见时执行
onRestart():回到前台,再次可见时执行
onResume():获取焦点时执行
onPause():失去焦点时执行
onStop():用户不可见进入后台时执行
onDestroy():销毁时执行
当activity从启动到关闭时,会依次执行onCreate()—>onStart()—>onResume()—>onPause()—>onStop()—>onDestroy()方法,
当activity执行到onPause()方法失去焦点时,重新调用回到前台会执行onResume()方法。
当执行到onStop()方法activity不见时,再回到前台会执行onRestart()和onStart()方法,如果进程被杀死,activity会重新执行onCreate()方法。
Activity在失去焦点时,首先执行onPause()方法,因此项目中如果要保存数据可以在onPause()方法中保存。
当Activity执行finish方法时,首先执行onPause()方法,再执行 onDestroy()方法,再次论证了上述结论