关于Activity的生命周期网上也有很多文章,最经典的莫过于官方的一张图解了。

这张图列出了Activity生命周期最主要的一些方法,启动后依次执行:

onCreate --> onStart --> onResume --> onPause --> onStop --> onDestroy

相信很多人也都已经知道以上方法与执行顺序,但是Activity还有其他方法,如onContentChanged, onPostCreate, onPostResume, onConfigurationChanged, onSaveInstanceState, onRestoreInstanceState,下面我做了一个Demo来彻底研究下这些生命周期的方法:

程序启动运行并结束上述生命周期的方法执行顺序是这样的:

onCreate --> onContentChanged --> onStart --> onPostCreate --> onResume --> onPostResume --> onPause --> onStop --> onDestroy

  • onContentChanged

onContentChanged()是Activity中的一个回调方法

当Activity的布局改动时,即setContentView()或者addContentView()方法执行完毕时就会调用该方法, 例如,Activity中各种View的findViewById()方法都可以放到该方法中。

  • onPostCreate、onPostResume

onPostCreate方法是指onCreate方法彻底执行完毕的回调,onPostResume类似,这两个方法官方说法是一般不会重写,现在知道的做法也就只有在使用ActionBarDrawerToggle的使用在onPostCreate需要在屏幕旋转时候等同步下状态,Google官方提供的一些实例就是如下做法:

  • onPause、 onStop

这里顺便再提一下onPause、 onStop的区别, onPause是在整个窗口被半遮盖或者半透明的时候会执行,而onStop则是在整个窗口被完全遮盖才会触发, 触发onStop的方法之前必定会触发onPause方法。

  • onCreate、 onStart

onCreate方法会在第一次创建的时候执行,紧接着便会执行onStart方法,之后页面被完全遮挡会执行onStop方法,再返回的时候一般便会执行onRestart --> onStart方法, 但是如果如果这时候App内存不够需要更多的内存的时候,App便会杀死该进程,结束掉该Activity,所以这时候再返回的时候便会重新执行onCreate --> onStart --> onResume方法。

  • onSaveInstanceState、 onRestoreInstanceState

这是一个比较深入的话题,后面会单独来讲,敬请期待!

点击"阅读原文"即可查看原文博客,大家如果觉得对你有帮助的话,不妨推荐身边的朋友关注此账号,如果有什么建议或者推荐的可直接留言给我。

Activity生命周期详解一相关推荐

  1. Android面试之Activity生命周期详解

    Activity生命周期详解 一 Activity的四种状态: Activity的生命周期中存在四种基本的状态:活动状态(Active/Runing),暂停状态(Paused),停止状态(Stoppe ...

  2. Android Activity 生命周期详解及监听

    前言 系列文章: Android Activity 与View 的互动思考 Android Activity 生命周期详解及监听 Android onSaveInstanceState/onResto ...

  3. Activity生命周期详解及最佳实践

    前言 该文章来自一个开源项目,致力于翻译Google官方文档,很棒,已经有成果了.PDF版本可以去这里下载http://hukai.me/eBooks/AndroidTrainingCHS.pdf,以 ...

  4. Activity生命周期详解

    在我的Android四大组件详解一文中已经对Activity的生命周期进行过一个比较详细的介绍.这篇文章我们再来更加深入地介绍Activity的生命周期. 一.Activity的生命周期方法如下: o ...

  5. xamarin Android activity生命周期详解

    学Xamarin我为什么要写这样一篇关于Android 的activity生命周期的文章 已经学Xamarin android有一段时间了,现在想起当初Xamarin也走了不少的弯路.当然Xamari ...

  6. Fragment生命周期详解

    关于Fragment的生命周期,博主写过Activity与Fragment生命周期详解,基本上把Fragment的生命周期详细介绍过,但是那仅仅是创建一个Fragmnet时的生命周期,而事实上Frag ...

  7. Fragment的懒加载与生命周期详解

    提示:本文仅为笔者学习记录 Fragment的懒加载与生命周期详解 什么是懒加载 了解Fragment的生命周期 onAttach onCreate onCreateView onActivityCr ...

  8. vue 声明周期函数_Vue 生命周期详解

    Vue 生命周期详解 Vue 生命周期流程 最开始,用户使用 new Vue() 创建根 Vue 实例,或者 Vue 实例化子组件都会调用_init方法(我们将这两种实例都称为vm): functio ...

  9. 01.软件项目管理与敏捷方法——敏捷项目生命周期详解笔记

    01.软件项目管理与敏捷方法--敏捷项目生命周期详解笔记 00.与其说是船还不如说是熟练的航行技术保证了成功的航行.--George William Curtis 01.敏捷项目是一个按照敏捷宣言宗旨 ...

  10. taro生命周期详解

    taro生命周期详解 taro介绍 生命周期 react的钩子函数 为兼容小程序的钩子函数 个别生命周期详解以及注意 1.render()函数 2.constructor()构造函数 3.在各个生命周 ...

最新文章

  1. 贪吃蛇python零基础教程_自学python-tkinter项目-贪吃蛇的程序(0基础入门学习)...
  2. Note:一些优化建议
  3. 5G NR 决定CORESET0频域位置的offset取值由来
  4. BZOJ4066:简单题(K-D Tree)
  5. 对Linux课程内容的建议,Linux课程笔记 Day01 课程内容总结(示例代码)
  6. 直接在安装了redis的Linux机器上操作redis数据存储类型--hash类型
  7. 图像主观质量评价 评分_视频质量评价算法 之 客观评价的性能指标
  8. Python-Matplotlib可视化(6)——自定义坐标轴让统计图清晰易懂
  9. 学习ectouch之文件结构
  10. Snipaste 截图工具快捷键大全
  11. 有限角度层析成像重建:基于无监督正弦图适应的合成重建
  12. 原来收汇宝真的是很烂
  13. SpringBoot2核心技术最好的一篇文章——1.基础入门
  14. 打通课堂课外芝士笔记开辟K12教育领域下一个时间战场
  15. [Stata] 分类变量画直方图(频率分布)
  16. PbootCMS发布接口_免登陆开源
  17. SpringBoot个人总结
  18. 讯搜 配置mysql_Xunsearch迅搜(基于 xapian+scws 的开源中文搜索引擎)安装与简单使用...
  19. ZZULI - 建国与回文串
  20. 雅加达poi_社区环境评估雅加达火车站

热门文章

  1. hdu Hero 4310 贪心水果 多校联合赛(二)第一题
  2. Hash函数加密算法(一)
  3. iSaver for Mac(动态桌面屏保软件)
  4. GoodTask for mac (任务管理器)
  5. Redis 单数据多源超高并发下的解决方案
  6. 每天一个设计模式之订阅-发布模式
  7. 初识iptables规则
  8. cobol学习之十数据库的增删改查模板
  9. perl Makefile.PL;make;make install 安装时报错
  10. Android 开发笔记“context和getApplicationContext”