Android activity生命周期

来源:互联网 发布:汉字教学软件 编辑:程序博客网 时间:2024/06/05 01:14
首先上官方文档图:

一、首先当程序运行启动一个acitivity之后首先调用onCreate()方法,表示创建做初始化操作。

二、onCreate()方法执行之后接着会执行onStart()方法,表示此activity用户可见。

三、onStart()方法执行后接着会执行onResume()方法,表示此activity获取用户焦点。

四、onResume()方法执行后,若开启另外一个activity或者dialog,会执行onPause()方法,表示此activity失去焦点。

五、onPause()方法执行后:

(1)、若开启的activity导致此acitivity依然可见,当开启的activity返回后会接着执行onResume()方法,表示获取焦点,从onStart()执行后,这两个方法可以交替执行,会在失去焦点和获取焦点间交替进行。

(2)、若开启的activity导致此acitivity不可见,接着会执行onStop()方法,表示此activity不可见;当开启的activity返回后会接着执行onRestart()、onStart()(表示用户可见),接着执行onResume()方法(表示获取焦点)。

(3)、若开启的activity导致调用了finish()方法,onStop()方法执行后会调用onDestroy(),表示此activity销毁。

六、一个完整的activity生命周期是onCreate()->onStart()->onResume()->onPause()->onStop()->onDestroy();并且onResume()->onPause()是可以循环执行多次的;并且onStop()->onRestart()->onStart()之间也可以循环执行多次。

七、当一个activity处于运行时,如果强行停止是不会执行onPause()、onStop()、onDestroy()方法的,同样当执行了onPause()或者onStop()方法后如其他高优先级的应用需要内存时可能杀死此activity,也并不会调用onStop()和onDestroy()方法的。

0 0