Activity生命周期解说
前言:
一直想着写一些Android基础知识分享给大家。可是有时候又认为怕写不好误导了大家学习Android。思前想后认为还是去Android官网看看,发如今Android官网上事实上就能学习到非常多知识,而且最新的知识他都会及时的更新,所以决定依照官网带领大家学习Android知识,在中间会穿插本人在做项目时的一些体会和总结。
应用程序的入口:
全部学习Android的基本上都从学习Activity開始,由于它是Android的大门。相当于Java程序的入口函数main()。当你查看一个Java项目时你肯定想到的是从它的入口函数main()開始,一步一步的深入去看这个项目的逻辑是怎么展开的,查看Android项目也不例外,可是它的入口不是main函数。而是主Activity类。
在Activity中有一些特定的方法称为生命周期函数(也叫回调函数)。这些函数不须要你去调用它,而是会自己主动的被Android系统调用,Android系统会依据用户的操作调用这些生命周期函数,比方用户点击了应用图标来启动应用程序,Android系统就会调用应用程序中主Activity的onCreat()方法,用户按返回键则会触发onPause()函数,你所须要做的就是利用这些生命周期函数,把你的逻辑写在恰当的位置。
理解Activity生命周期:
怎么利用生命周期函数?首先是要理解Activity的生命周期。在Android官网上有一张以下的图片,它绘制的就是一个Activity生命周期金字塔。

在上图中每个生命周期中的状态(Created、Started、Resumed、Paused、Stoped、Destroyed)能够看做是组成金字塔的每个台阶,这些台阶是通过一些生命周期函数才干到达的。
在用户点击应用图标启动应用程序的时候是从金字塔最底层。经过onCreat()、onStart()、onResume()这几个函数一步一步走向金字塔顶峰,这几个函数都是Android系统帮你调用的。不须要你处理。你要做的是在这几个函数中做好程序的初始化工作。当到达金字塔顶部Resumed状态时应用程序获取了最大的前台执行权限,用户才干与应用程序进行交互,比方进行聊天、点击应用程序的其它功能等。当用户离开应用程序的时候Android系统会调用Activity的onPause()、onStop()、onDestroy()方法,一步一步从金字塔顶层退下来,在从顶层退下来的时候也能够从新回到顶层。
理解三个状态:
Activity中的Created、Started、Resumed、Paused、Stoped、Destroyed这七个状态仅仅有三个状态能够精巧存在一段时间。其它的状态非常快就会过去。
这三个状态是:
- Resumed状态:
在这个状态下Activity处于前台活动状态。也就是能够和用户进行交互的状态。也叫执行状态。
- Paused状态:
在这个状态Activity界面部分被其它Activity遮挡,无法响应用户的全部操作。
- Stopped状态:
在这个状态Activity全然被隐藏。对于用户是不可见的状态,应用程序在后台。进入这个状态时,Activity的状态信息要被保留下来。
对于其它状态仅仅是短暂的停留,不如系统调用onCreate()后,它迅速调用onStart(),紧接着onResume()。
生命周期注意事项:
对于Activity的生命周期在实际项目中的怎么应用你须要记住下面几点:
- 在用户用你的应用程序时,假设有来电或者用户切换到其它应用,你的应用程序不能出现异常退出,比方非常严重的崩溃(crash)或者无响应(ANR);
- 在用户不再使用你的应用时,及时释放掉你应用程序占用的系统资源,比方在程序进入后台时要停掉一些不必要的线程;
- 在用户离开你的应用的时候要保存用户当前的状态,再用户再次回到你的应用的时候恢复之前的状态;
- 在进行横竖屏切换的时候要满足上面的第一和第三条规则。
以上是Activity生命周期的基本知识。下一篇文章将会结合代码解说Activity生命周期函数。
假设大家有什么疑问和问题请关注我的微信公众号:coder_online给我反馈。
本文属原创,转载请注明出处。违者必究
关注微信公众平台:程序猿互动联盟(coder_online),你能够第一时间获取原创技术文章,和(java/C/C++/Android/Windows/Linux)技术大牛做朋友,在线交流编程经验,获取编程基础知识,解决编程问题。程序猿互动联盟。开发者自己的家。

Activity生命周期解说的更多相关文章
- 基础总结篇之中的一个:Activity生命周期
子曰:溫故而知新,能够為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就全然掌握,那基本不大可能,所以我们须要常常回过头再细致研读几遍,以领悟到作者的思想精 ...
- 文章之间的基本总结:Activity生命周期
孔子:温故而知新.它可以作为一个教师.<论语> 同样的学习技巧.对于技术文件或书籍的经典技术,期待再次看到它完全掌握,这基本上是不可能的,所以,我们常常回来几次,然后仔细研究,为了理解作者 ...
- 文章之间的基本总结Activity生命周期
子曰:溫故而知新,能够為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就全然掌握,那基本不大可能,所以我们须要常常回过头再细致研读几遍,以领悟到作者的思想精 ...
- [转]: 两分钟彻底让你明白Android Activity生命周期(图文)!
转自:http://blog.csdn.net/android_tutor/article/details/5772285 大家好,今天给大家详解一下Android中Activity的生命周期,我在前 ...
- Activity生命周期(深入理解)
今天看到一篇大神总结Activity的文章,内容甚为详细,特此转载http://www.cnblogs.com/lwbqqyumidi/p/3769113.html Android官方文档和其他不少资 ...
- Android Activity生命周期
从android api文档摘抄出来的activity生命周期图如下: Activity有如下四种状态 a.活动状态 activity处于屏幕前台,获取到了焦点可以和用户进行交互,同一时刻只有一个a ...
- Android Activity生命周期详讲
管理 Activity 生命周期 通过实现回调方法管理 Activity 的生命周期对开发强大而又灵活的应用至关重要. Activity 的生命周期会直接受到 Activity 与其他 Activit ...
- android Activity生命周期(设备旋转、数据恢复等)与启动模式
1.Activity生命周期 接下来将介绍 Android Activity(四大组件之一) 的生命周期, 包含运行.暂停和停止三种状态,onCreate.onStart.onResume.o ...
- android开发------Activity生命周期
这几天工作比较忙,基本没有什么时间更新播客了. 趁着今晚有点时间,我们来简单说一下什么是Activity生命周期和它们各阶段的特征 什么是生命周期 在还没有接触android开发的时候,听到有人说Ac ...
随机推荐
- PHP学习笔记--文件目录操作(文件上传实例)
文件操作是每个语言必须有的,不仅仅局限于PHP,这里我们就仅用PHP进行讲解 php的文件高级操作和文件上传实例我放在文章的最后部分.--以后我还会给大家写一个PHP类似于网盘操作的例子 注意:阅读此 ...
- [BILL WEI] stimulsoft 分组页眉页脚的使用
我们在通过stimulsoft设计报表的时候,有的时候,需要做出如下图报表样式 这个时候,因为箱号是分开扩展的,我们就需要用到分组页眉了,如下图demo跟实例所示:
- bug报告-常用词汇中英对照表
- IAR编译信息分析
1.怎么设置可以查看单片的内存(消耗)使用状况? IAR的菜单栏 -->Tools -->IDE Options -->Messages -->Show build messa ...
- springMVC(注解版笔记)
springMVC(注解版) 较之于非注解版本,发生一下变化: 1.配置文件需要配置的标签有: <!-- 包的扫描,此包下面的所有包都启用注解 --> <context:compon ...
- QT-【转】Qt 4迁移至Qt 5
将Qt 4代码迁移到Qt 5还是比较简单的.实际上,在Qt 5开发过程中就已经注意了与Qt 4代码保持兼容性. 与Qt 3到Qt 4的迁移不同,Qt 5的核心类库并没有做大的API的修改,只有几个新的 ...
- MDI端口和MDIX端口是什么? 又有什么作用?
是网线的标准A类接法和B类接法.也就是人们通常所说的交叉网线和直联网线.直联网线就是 白黄 黄 白绿 蓝 白兰 绿 白棕 棕 另一端同样如此.交叉网线就是 另一端的1和3,2和6对调.这样就成了交叉网 ...
- QT5.3+VS2013+QCustomPlot+QwtPlot+QwtPlot3D使用环境配置
VS安装QT后运行环境所需配置 安装好QT和QT在VS下的插件之后: 1.打开VS,找到QT5→QT Option,如下: 2.配置电脑环境变量,在系统变量→Path下增加QT的动态库所在文件夹,也就 ...
- reverse the string word by word
题目:Given an input string, reverse the string word by word. For example,Given s = "the sky is bl ...
- LyX转Word
写毕业论文是一件非常繁锁的事情,一大堆的图片.公式都要往上贴,有时弄不好就把编号搞错了,有时可能没注意,一不小心字体格式.版面格式又全乱了.怎么办?--其实这只是在word环境下才会有的烦恼. 对于w ...