Carson带你学Android:3分钟全面解析Activity生命周期


前言

  • 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生命周期对比

  • FragmentActivity的生命周期非常相似
  • 具体对比如下图:


    与Fragment生命周期对比
示意图

4. 总结

  • 本文对AndroidActivity生命周期进行了全面介绍
  • Carson带你学四大组件文章系列:

Carson带你学Android:页面活动-Activity
Carson带你学Android:广播-BroadcastReceiver
Carson带你学Android:服务-Service
Carson带你学Android:内存承载器-ContentProvider


欢迎关注Carson_Ho的简书

不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度


请点赞!因为你的鼓励是我写作的最大动力!

推荐阅读更多精彩内容