Android Activity生命周期详细解析

概况

讲Android Activity那怎么都绕不过这张图,这篇文章也是围绕这幅图详细分析。

Android Activity生命周期详细解析

背景

假设这是你的APP,以此为背景,下面的每个part请结合上图理解。

Android Activity生命周期详细解析


#Case 1

当按下app启动图标后,主页面Activity执行

onCreate()->onStart()->onResume()

此时显示APP主界面

Android Activity生命周期详细解析


#Case 2

此时位于主界面Activity,当点击OpenDial或者NewActivity启动一个新的Activity并遮挡当前主页面Activity时,主页面Activity执行

onPause()->onStop()

假设这里按下的是NewActivity,此时应显示NewActivity页面

Android Activity生命周期详细解析


#Case 3

当点击OpenDialog打开一个Dialog,此时虽然启动了新的Activity但是主页面Activity没有被遮挡,也就没有执行onStop(),所以主页面Activity执行

onPause()

此时效果如下,可以看到主页面Activity只是变成灰色没有被完全遮挡

Android Activity生命周期详细解析

#Case 4

当按下Back键返回到主页面,由于之前没有onStop,所以不必经过onRestart()->onStart(),此时主页面Activity仅执行

onResume()

此时返回主页面Activity

Android Activity生命周期详细解析

#Case 5


当按下EXIT按钮或者Back返回键,APP将彻底销毁此时主页面Activity执行

onPause()->onStop()->onDestory()

此时返回抽屉页面,APP退出

Android Activity生命周期详细解析