Android Activity、Service、BroadcastReceiver 的生命周期
Activity、Service、BroadcastReceiver这三个组建是Android开发中最常使用到的组件,在它们的生命周期的各个阶段我们需要针对性的做些事情,了解这些组件的生命周期有利于我们更好的开发Android应用。
Android的生命周期如图所示:

下面是部分翻译了Activity源代码中对于这些方法的解释:
onCreate:
用来初始化UI,以及所需显示的数据
onStart:
用来显示或重新显示UI
onRestart:
当Activity重新显示到界面上时被调用,接下来的操作是onStart->onResume
onResume:
用来启动UI跟用户交互,动画以及独占访问设备(如相机)
onPause:
跟onResume对应,当Activity进入后台运行时被调用,此方法通常用来关闭动画、独占访问设备等耗CPU的资源,以及保存用户的操作状态及数据(当内存不够时此状态的Activity会被回收)以便重新启动时状态能被还原
onStop:
当
Activity不再显示于界面上时调用,在调用onPause后当系统没有多余的内存空间维持该Activity主进程运行时,该方法不会被调用。调用
此方法后的Activity有两个路线,再次显示到界面上时会调用onRestart,以及彻底结束时调用onDestory。
onDestory:
当Activity结束、或者系统临时结束此实例以释放内存空间时调用,该方法请勿用来保存用户数据(若需要考虑onPause),因为当系统结束Activity进程时不会调用该方法。
Android Activity、Service、BroadcastReceiver 的生命周期的更多相关文章
- Android之Activity界面跳转--生命周期方法调用顺序
这本是一个很基础的问题,很惭愧,很久没研究这一块了,已经忘得差不多了.前段时间面试,有面试官问过这个问题.虽然觉得没必要记,要用的时候写个Demo,打个Log就清楚了.但是今天顺手写了个Demo,也就 ...
- Android中各组件的生命周期
1.Activity生命周期图 二.activity三种状态 (1)active:当Activity运行在屏幕前台(处于当前任务活动栈的最上面),此时它获取了焦点能响应用户的操作,属于活动状态,同一个 ...
- Android 页面跳转之生命周期调用顺序问题
Android Activity 常用技巧 Android Activity 启动模式和任务栈 Android 页面跳转之生命周期调用顺序问题 一.页面跳转逻辑分析 1.1 跳转逻辑分析 Androi ...
- Activity与Fragment的生命周期
今天看到一张图,详细描述了Activity和Fragment的生命周期,好资源共享咯!
- WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[下篇]
原文:WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[下篇] 在[第2篇]中,我们深入剖析了单调(PerCall)模式下WCF对服务实例生命周期的控制,现在我们来 ...
- JavaScript是如何工作的:Service Worker的生命周期及使用场景
摘要: 理解Service Worker. 原文:JavaScript 是如何工作的:Service Worker 的生命周期及使用场景 作者:前端小智 Fundebug经授权转载,版权归原作者所有. ...
- Android React Native组件的生命周期及回调函数
熟悉android的童鞋应该都清楚,android是有生命周期的,其很多组件也是有生命周期.今天小编和大家分享的React Native组件的生命周期,还不了解的童鞋,赶紧来围观吧 在android开 ...
- [转]Android四大核心组件:Activity+Service+BroadcastReceiver+ContentProvider
原文地址:http://c.biancheng.net/view/2918.html Android 作为一个移动设备的开发平台,其软件层次结构包含操作系统 (OS).中间件 (MiddleWare) ...
- Android Service服务的生命周期
与activity类似,服务也存在生命周期回调方法,你可以实现这些方法来监控服务的状态变化,并在适当的时机执行一些操作. 以下代码提纲展示了服务的每个生命周期回调方法: public class Ex ...
随机推荐
- Python【yagmail】模块发邮件
#步骤一:import yagmail #步骤二:实例化一个发邮件的对象username = '553637138@qq.com' #邮箱账号pwd='sa2008' #授权码mail = yagma ...
- linux(ubuntu) 常用指令
1.新建文件夹 mkdir mkdir test 2.进入文件夹 cd cd test 3.创建/修改文件 vim vim a.txt 如果不存在a.txt,就会新增a.txt; 如果存在,则修改 先 ...
- Java基础-Date类常用方法介绍
Java基础-Date类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.毫秒值概念 我们在查阅Date类的API文档时,会发现这样的一句话:"The cl ...
- 解析Job,bpmn文件的小项目总结
1.在使用String类中split(String regex)切割字符串abcd.job遇得到job字符串时,直接使用split("."),导致数组超出界限错误 原因:得到的数组 ...
- 用nginx搭建简单的文件下载服务器
server { listen 80; #端口 server_name localhost; #服务名 charset utf-8; # ...
- 【Hadoop】Win7上搭建Hadoop开发环境,方法一
在Win7上,编写hadoop程序 操作系统:win7 hadoop版本:CDH3u6 1.下载安装JDK,以及Eclipse 2.新建JAVA Project 3.去cloudera网站下载hado ...
- 解决组合排列问题 A (m ,n) m>=n
转载自http://blog.csdn.net/sunyujia/article/details/4124011 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取 ...
- undefined reference to 'pthread_create'问题解决 -- 转
文章出处:http://blog.csdn.net/llqkk/article/details/2854558 由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个 ...
- HDU 4311 Meeting point-1 求一个点到其它点的曼哈顿距离之和
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4311 解题报告:在一个平面上有 n 个点,求一个点到其它的 n 个点的距离之和最小是多少. 首先不得不 ...
- Dynamic Rankings(动态第k大+树套树)
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1112 题目: 思路: 树套树板子题. 代码实现如下: #inclu ...