前言
-
Android
开发中,会经常接触Activity
,所以深入了解Activity
生命周期非常重要 - 本文将深入讲解
Activity
生命周期 的相关内容
阅读本文 需 3分钟
目录
示意图
1. 生命周期流程 & 方法详解
1.1 具体请看下图
示意图
1.2 注意点
a. 生命周期方法 = 成对出现(配对)
-
onCreate()
&onDestory()
-
onStart()
&onStop()
-
onResume()
&onPause()
b. onStart() & onStop()、onResume() & onPause() 除了回调时刻,在实际使用中无任何区别
-
onStart()
&onStop()
:从Activity
是否完全可见的角度 进行回调 -
onResume()
&onPause()
: 从Activity
是否位于前台(UI最顶层)的角度进行回调; - 除了上述的区别,在实际使用中没有任何区别
c. 当前Activity为A,此时用户打开ActivityB后,那么A的onPause()和B的onResume()哪个方法先执行?
答:先 A的onPause()
,再B的onResume()
-
Activity
的启动过程:由ActivityManagerService
(AMS)对栈内的Activity
状态进行同步管理 & 规定:新Activity
启动前,栈顶的Activity必须先onPause()
,才能启动新的Activity
(执行onResume()
)
注:为了让新的
Activity
尽快切换到前台,在onPause()
尽量不要做耗时 / 重量级操作
2. 常见场景的生命周期调用方式
示意图
3. 与Fragment生命周期对比
-
Fragment
、Activity
的生命周期非常相似 -
具体对比如下图:
与Fragment生命周期对比
示意图
4. 总结
- 本文对
Android
的Activity
生命周期进行了全面介绍 - Carson带你学四大组件文章系列:
Carson带你学Android:页面活动-Activity
Carson带你学Android:广播-BroadcastReceiver
Carson带你学Android:服务-Service
Carson带你学Android:内存承载器-ContentProvider
欢迎关注Carson_Ho的简书
不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度。