Android生命周期回顾
先回顾生命周期
- Activity一共有3中状态
- 运行中
Activity位于前台,并具有用户焦点
暂停
另一个Activity位于屏幕前台并具有用户焦点,但此Activity仍可见。也就是说,另一个Activity显示在此Activity上方,并且该Activity部分透明或未覆盖整个屏幕。暂停的Activity处于完全活动状态(Activity对象保留在内存中,它保留了所有状态和成员信息,并与窗口管理器保持连接),但在内存极度不足的情况下,可能会被系统终止。
- 停止
该 Activity 被另一个 Activity 完全遮盖(该 Activity 目前位于“后台”)。 已停止的 Activity 同样仍处于活动状态(Activity 对象保留在内存中,它保留了所有状态和成员信息,但未与窗口管理器连接)。 不过,它对用户不再可见,在他处需要内存时可能会被系统终止。
如果 Activity 处于暂停或停止状态,系统可通过要求其结束(调用其 finish() 方法)或直接终止其进程,将其从内存中删除。(将其结束或终止后)再次打开 Activity 时,必须重建。
Activity的生命周期主要有7个回调函数:
- onCreate
- onResume
- onRestart
- onStart
- onPause
- onStop
- onDestroy
还有onSavaInstanceState
onRestoreInstanceState
等。
方法 | 说明 | 是否能事后终止? | 后接 | ||
---|---|---|---|---|---|
|
首次创建 Activity 时调用。 您应该在此方法中执行所有正常的静态设置 — 创建视图、将数据绑定到列表等等。 系统向此方法传递一个 Bundle 对象,其中包含 Activity 的上一状态,不过前提是捕获了该状态(请参阅后文的保存 Activity 状态)。 始终后接 |
否 | onStart() |
||
|
在 Activity 已停止并即将再次启动前调用。
始终后接 |
否 | onStart() |
||
|
在 Activity 即将对用户可见之前调用。
如果 Activity 转入前台,则后接 |
否 | onResume() 或 onStop() |
||
|
在 Activity 即将开始与用户进行交互之前调用。 此时,Activity 处于 Activity 堆栈的顶层,并具有用户输入焦点。 始终后接 |
否 | onPause() |
||
|
当系统即将开始继续另一个 Activity 时调用。 此方法通常用于确认对持久性数据的未保存更改、停止动画以及其他可能消耗 CPU 的内容,诸如此类。 它应该非常迅速地执行所需操作,因为它返回后,下一个 Activity 才能继续执行。 如果 Activity 返回前台,则后接 |
是 | onResume() 或 onStop() |
||
|
在 Activity 对用户不再可见时调用。如果 Activity 被销毁,或另一个 Activity(一个现有 Activity 或新 Activity)继续执行并将其覆盖,就可能发生这种情况。
如果 Activity 恢复与用户的交互,则后接 |
是 | onRestart() 或 onDestroy() |
||
|
在 Activity 被销毁前调用。这是 Activity 将收到的最后调用。 当 Activity 结束(有人对 Activity 调用了 ),或系统为节省空间而暂时销毁该 Activity 实例时,可能会调用它。
您可以通过 |
是 | 无 |
状态保存
onSavaInstanceState
里保存Activity 的瞬态(UI 的状态)onPause
里实现持久性数据保存(例如保存到数据库)
处理屏幕旋转、键盘可用性等变化
发生屏幕旋转,键盘可用性变化之后,系统会调用onDestroy()
,然后立即调用onCreate()
。处理这种变化的最佳方法就是利用onSavaInstanceState()
和onRestoreInstanceState()
(或onCreate()
)保存并回复Activity的状态。
Android生命周期回顾的更多相关文章
- android 生命周期
引入android生命周期概念来做前端的hash切换页面的思路: 1. page manager来管理多个page(一对多的关系); 2. route:URL <-> Page; 3. P ...
- Android生命周期和Service生命周期
android生命周期 运行:oncreate → onstart → onresume暂停:onresume → onpause:再次运行:onresume停止:onpause → onstop → ...
- Android生命周期里你也许不知道的事
Android生命周期预计连刚開始学习的人都再熟悉只是的东西了,但这里我抛出几个问题.也许大家曾经没有想过或者可能认识的有些错误. 一.当A启动B时,A和B生命周期方法运行的先后顺序是如何的?当按返回 ...
- Android开发--Activity生命周期回顾理解
Activity和Servlet一样,都用了回调机制.我们通过类比servlet来学习Activity.当一个servlet开发出来之后,该servlet运行于Web服务器中.服务器何时创建servl ...
- Android生命周期
Android的生命周期如下图所示: A和B两个Activity,从A启动B活动.执行的方法: A活动 onCreate() onStart() onResume() ...
- Android生命周期详细说明
提供两个关于Activity的生命周期模型图示帮助理解: 图1 图2 从图2所示的Activity生命周期不难看出, ...
- Android 生命周期 和 onWindowFocusChanged
转载 http://blog.csdn.net/pi9nc/article/details/9237031 onWindowFocusChanged重要作用 Activity生命周期中,onStart ...
- Android生命周期注意事项
生命周期图解 以下英文引用全部来自google官方文档说明,方便理解. onCreate (Bundle savedInstan ...
- Android生命周期例子小解
Activity 从创建到进入运行态所触发的事件 onCreate()-->onStart-->onResume() 从运行态到停止态所触发的事件 onPa ...
随机推荐
- 一位ACMer过来人的心得
http://blog.csdn.net/acm_cxlove/article/details/8079348
- jQuery通过event获取点击事件的事件对象
要想搞明白js的事件机制,必须搞清楚几个概念:事件对象,事件源,还有事件流 事件对象: 当事件发生时会产生事件对象,事件对象的作用是用来记录“事件发生是一些相关的信息.注意事件对象只有在事件发生时才会 ...
- IDEA中用jetty启动项目时,url 404
问题背景:IDE:IDEA 语言:java 服务器:jetty 框架:nutz 问题描述: 按照nutz构建j2ee项目,配置projectStructor中的依赖,jre,jetty之后,部署,并通 ...
- PatentTips - Hamming distance comparison
BACKGROUND INFORMATION In a typical data processing environment, data may be transmitted in multiple ...
- Java中DAO/DTO/PO/VO/BO/QO/POJO
ORM:是Object Relational Mapping(对象关系映射)的缩写. 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/R/M的世界里,有两个基本的也是重要的东东需要了 ...
- 类似于SVN的文档内容差异对比工具winmerge
原文:http://www.jianshu.com/p/99282a4f3870 https://sourceforge.net/projects/winmerge/?source=typ_redir ...
- LeetCode 706. Design HashMap (设计哈希映射)
题目标签:HashMap 题目让我们设计一个 hashmap, 有put, get, remove 功能. 建立一个 int array, index 是key, 值是 value,具体看code. ...
- CentOS6.5配置代理上网
虚拟机vmWare下装了个CentOS,第一件事是配置代理上网,因为工作环境需要使用代理上网,但发觉与uBuntu不同,根本没有什么/etc/environment. 在网上疯狂搜索,都说要配置/et ...
- 3730 无线网络发射选址[NOIP 0214 day2 T1]
3730 无线网络发射选址 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题解 查看运行结果 题目描述 Description 随着智能手机的日 ...
- Recommendation system
Dear Prof.Choi: My research interest is mainly the application and optimization of big data and arti ...