您的位置:首页 > 其它

Activity的生命周期详解

2016-11-01 16:08 127 查看
每个Activity都有生命周期,在不同阶段会回调不同的生命周期函数,Activity的生命周期函数与如下几个

1. onCreate( )

我们在创建继承自Activity的类时都会默认生成这个函数。它会在Activity第一次被创建时调用,通常在这个函数完成Activity的初始化操作,如设置布局、初始化视图、绑定事件等。

2. onStart( )

这个函数在Activity的onCreate函数调用之后被调用,此时的Activity还处于不可见状态,它的下一个状态就是Activity变得可见的时候,也就是这个函数在Activity可见之前被调用。

3. onResume( )


这个函数在Activity变为可见时被调用,执行完onResume之后,Activity就会请求AMS渲染它所管理的视图。此时的Activity一定位于返回栈的栈顶,并且处于运行状态。

4. onPause( )

这个函数在系统准备去启动或恢复另一个Activity时调用,也就是在Activity即将从可见状态变成不可见时。我们通常会在这个函数中将一些消耗CPU的资源释放掉,以及保存一些关键数据。

5. onStop( )

这个函数在Activity完全不可见时调用。它和onPause函数的主要区别在于,如果新启动的Activity是一个对话框式的Activity,那么onPause会得到执行,而onStop函数并不会执行。

6. onDestroy( )

这个函数在Activity被销毁之前调用,之后Activity的状态将变成销毁状态。

7. onRestart( )

这个函数在Activit由停止状态爱重新变为运行状态之前调用,也就是Activity被重新启动了。

从onCreate( )函数到onDestroy( )函数运行的时期就是一个Activity的完整生命周期。
为了帮助读者更好地理解,Android官方提供了一个Activity生命周期的示意图,如下图所示



Activity的生命周期
Activity的常见活动的生命周期情况

启动Activity:onCreate( ) ->onStart( ) -> onResume,Activity进入运行状态
当前Activity 转到新的Activity界面或按Home键回到主屏:onPause( ) -> onStop( ),进入停滞状态
Activity返回前台:onRestart( ) -> onStart( ) -> onResume( ),再次回到运行状态
按Back键:onPause( ) -> onStop( ) -> onDestroy( ) ,Activity被销毁了,如果重新进入运行状态,则要重新启动Activity,即onCreate( ) ->onStart( ) -> onResume,Activity进入运行状态
锁屏:onPause( ) -> onStop( )
解锁:onStart( ) -> onResume( )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: