Activity 生命周期回调方法汇总表。
2016-07-15 18:28
302 查看
表 1. Activity 生命周期回调方法汇总表。
名为“是否能事后终止?”的列表示系统是否能在不执行另一行 Activity 代码的情况下,在方法返回后随时终止承载 Activity 的进程。 有三个方法带有“是”标记:(
Activity 创建后,
Activity 的转变并拖慢用户体验。
方法 | 描述 | 是否能事后终止? | 后接 | |
---|---|---|---|---|
onCreate() | 首次创建 Activity 时调用。 您应该在此方法中执行所有正常的静态设置— 创建视图、将数据绑定到列表等等。系统向此方法传递一个 Bundle 对象,其中包含 Activity 的上一状态,不过前提是捕获了该状态(请参阅后文的保存 Activity 状态)。 始终后接 onStart()。 | 否 | onStart() | |
onRestart() | 在 Activity 已停止并即将再次启动前调用。 始终后接 onStart() | 否 | onStart() | |
onStart() | 在 Activity 即将对用户可见之前调用。 如果 Activity 转入前台,则后接 onResume(),如果 Activity 转入隐藏状态,则后接 onStop()。 | 否 | onResume() 或 onStop() | |
onResume() | 在 Activity 即将开始与用户进行交互之前调用。 此时,Activity 处于 Activity 堆栈的顶层,并具有用户输入焦点。 始终后接 onPause()。 | 否 | onPause() | |
onPause() | 当系统即将开始继续另一个 Activity 时调用。 此方法通常用于确认对持久性数据的未保存更改、停止动画以及其他可能消耗 CPU 的内容,诸如此类。 它应该非常迅速地执行所需操作,因为它返回后,下一个 Activity 才能继续执行。 如果 Activity 返回前台,则后接 onResume(),如果 Activity 转入对用户不可见状态,则后接 onStop()。 | 是 | onResume() 或 onStop() | |
onStop() | Activity 对用户不再可见时调用。如果 Activity 被销毁,或另一个 Activity(一个现有 Activity 或新 Activity)继续执行并将其覆盖,就可能发生这种情况。 如果 Activity 恢复与用户的交互,则后接 onRestart(),如果 Activity 被销毁,则后接 onDestroy()。 | 是 | onRestart() 或 onDestroy() | |
onDestroy() | 在 Activity 被销毁前调用。这是 Activity 将收到的最后调用。 当 Activity 结束(有人调用 Activity 上的 finish()),或系统为节省空间而暂时销毁该 Activity 实例时,可能会调用它。 您可以通过 isFinishing()方法区分这两种情形。 | 是 | 无 |
onPause()、
onStop()和
onDestroy())。由于
onPause()是这三个方法中的第一个,因此
Activity 创建后,
onPause()必定成为最后调用的方法,然后才能终止进程—如果系统在紧急情况下必须恢复内存,则可能不会调用
onStop()和
onDestroy()。因此,您应该使用
onPause()向存储设备写入至关重要的持久性数据(例如用户编辑)。不过,您应该对
onPause()调用期间必须保留的信息有所选择,因为该方法中的任何阻止过程都会妨碍向下一个
Activity 的转变并拖慢用户体验。
相关文章推荐
- java初级第11天笔记资料
- 动态规划——最长上升子序列问题(LIS)
- linux下实现tomcat6.0的单机多实例
- javascript实现图片隐写
- bzoj 4566 找相同字符【后缀自动机】
- Ensemble Learning 之 Bagging 与 Random Forest
- String 的个人理解以及在栈堆的内存以及Stringbuilder和Stringbuffer
- mysql根据排序结果来更新表
- java初级第10天笔记资料
- 在CentOS中搭建Gogs服务器
- Getting “Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?” when ins
- SDWebImage加载大图导致的内存警告问题
- SQL SERVER数据类型与C#中数据类型的对应关系
- 约束报错、冲突如何定位UI
- 如何用代码改变世界
- 如果你想成为一名黑客
- JavaScript八张思维导图概括
- MYSQL 5.7 新增150多个新功能
- Java 对象比较器 comparator 的作用及用法
- PHP下載網址