Activity生命周期详解一
关于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生命周期详解一相关推荐
- Android面试之Activity生命周期详解
Activity生命周期详解 一 Activity的四种状态: Activity的生命周期中存在四种基本的状态:活动状态(Active/Runing),暂停状态(Paused),停止状态(Stoppe ...
- Android Activity 生命周期详解及监听
前言 系列文章: Android Activity 与View 的互动思考 Android Activity 生命周期详解及监听 Android onSaveInstanceState/onResto ...
- Activity生命周期详解及最佳实践
前言 该文章来自一个开源项目,致力于翻译Google官方文档,很棒,已经有成果了.PDF版本可以去这里下载http://hukai.me/eBooks/AndroidTrainingCHS.pdf,以 ...
- Activity生命周期详解
在我的Android四大组件详解一文中已经对Activity的生命周期进行过一个比较详细的介绍.这篇文章我们再来更加深入地介绍Activity的生命周期. 一.Activity的生命周期方法如下: o ...
- xamarin Android activity生命周期详解
学Xamarin我为什么要写这样一篇关于Android 的activity生命周期的文章 已经学Xamarin android有一段时间了,现在想起当初Xamarin也走了不少的弯路.当然Xamari ...
- Fragment生命周期详解
关于Fragment的生命周期,博主写过Activity与Fragment生命周期详解,基本上把Fragment的生命周期详细介绍过,但是那仅仅是创建一个Fragmnet时的生命周期,而事实上Frag ...
- Fragment的懒加载与生命周期详解
提示:本文仅为笔者学习记录 Fragment的懒加载与生命周期详解 什么是懒加载 了解Fragment的生命周期 onAttach onCreate onCreateView onActivityCr ...
- vue 声明周期函数_Vue 生命周期详解
Vue 生命周期详解 Vue 生命周期流程 最开始,用户使用 new Vue() 创建根 Vue 实例,或者 Vue 实例化子组件都会调用_init方法(我们将这两种实例都称为vm): functio ...
- 01.软件项目管理与敏捷方法——敏捷项目生命周期详解笔记
01.软件项目管理与敏捷方法--敏捷项目生命周期详解笔记 00.与其说是船还不如说是熟练的航行技术保证了成功的航行.--George William Curtis 01.敏捷项目是一个按照敏捷宣言宗旨 ...
- taro生命周期详解
taro生命周期详解 taro介绍 生命周期 react的钩子函数 为兼容小程序的钩子函数 个别生命周期详解以及注意 1.render()函数 2.constructor()构造函数 3.在各个生命周 ...
最新文章
- 贪吃蛇python零基础教程_自学python-tkinter项目-贪吃蛇的程序(0基础入门学习)...
- Note:一些优化建议
- 5G NR 决定CORESET0频域位置的offset取值由来
- BZOJ4066:简单题(K-D Tree)
- 对Linux课程内容的建议,Linux课程笔记 Day01 课程内容总结(示例代码)
- 直接在安装了redis的Linux机器上操作redis数据存储类型--hash类型
- 图像主观质量评价 评分_视频质量评价算法 之 客观评价的性能指标
- Python-Matplotlib可视化(6)——自定义坐标轴让统计图清晰易懂
- 学习ectouch之文件结构
- Snipaste 截图工具快捷键大全
- 有限角度层析成像重建:基于无监督正弦图适应的合成重建
- 原来收汇宝真的是很烂
- SpringBoot2核心技术最好的一篇文章——1.基础入门
- 打通课堂课外芝士笔记开辟K12教育领域下一个时间战场
- [Stata] 分类变量画直方图(频率分布)
- PbootCMS发布接口_免登陆开源
- SpringBoot个人总结
- 讯搜 配置mysql_Xunsearch迅搜(基于 xapian+scws 的开源中文搜索引擎)安装与简单使用...
- ZZULI - 建国与回文串
- 雅加达poi_社区环境评估雅加达火车站
热门文章
- hdu Hero 4310 贪心水果 多校联合赛(二)第一题
- Hash函数加密算法(一)
- iSaver for Mac(动态桌面屏保软件)
- GoodTask for mac (任务管理器)
- Redis 单数据多源超高并发下的解决方案
- 每天一个设计模式之订阅-发布模式
- 初识iptables规则
- cobol学习之十数据库的增删改查模板
- perl Makefile.PL;make;make install 安装时报错
- Android 开发笔记“context和getApplicationContext”