Activity的生命周期,BACK键和HOME对生命周期的影响
下面这张图详细的描述了Activity的整个生命周期:

- public class HelloActivity extends Activity {
- public static final String TAG = "HelloActivity";
- /**
- * 第一个被运行的方法
- * 初始化页面
- * Bundle恢复上次的状态
- */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- Log.v(TAG, "onCreate");
- }
- /**
- * 从onStop回到Activity的时候会执行
- * 按HOME键的时候会执行onStop,重新回到程序会执行这个方法
- */
- @Override
- protected void onRestart() {
- super.onRestart();
- Log.v(TAG, "onRestart");
- }
- /**
- * 在onCreate,onRestart后面执行
- */
- @Override
- protected void onStart() {
- super.onStart();
- Log.v(TAG, "onStart");
- }
- /**
- * 在onStart后面执行,执行这个方法后这个Activity就处于全部Activity堆栈的最上面
- * 进入用户可见可操作的状态
- */
- @Override
- protected void onResume() {
- super.onResume();
- Log.v(TAG, "onResume");
- }
- /**
- * 当其他Activity启动时这个方法会执行
- * 按HOME和BACK都会执行这个方法
- * 最好在这个方法中提交或者保存数据,因为很有可能再也不会回到这个activity中。
- * 这个方法最好不要执行太长时间,因为下个activity开始执行前会等待这个方法返回。
- */
- @Override
- protected void onPause() {
- super.onPause();
- Log.v(TAG, "onPause");
- }
- /**
- * activity很久没被显示,要被销毁,系统资源缺乏,都会调用这个方法
- * 按HOME和BACK都会执行这个方法
- */
- @Override
- protected void onStop() {
- super.onStop();
- Log.v(TAG, "onStop");
- }
- /**
- * 调用finish方法,或者系统回收资源时调用
- */
- @Override
- protected void onDestroy() {
- super.onDestroy();
- Log.v(TAG, "onDestroy");
- }
- }
- HOME键的执行顺序:onPause->onStop->onRestart->onStart->onResume
- BACK键的顺序: onPause->onStop->onDestroy->onCreate->onStart->onResume
- onPause不要做太耗时的工作
Activity的生命周期,BACK键和HOME对生命周期的影响的更多相关文章
- Fragment生命周期及在viewpager中的生命周期
简介 本篇博客主要从一下三个方面介绍fragement的生命周期 1.fragment的生命周期及与Activity的生命周期的比较 2.FrameLayou布局添加.替换Fragment时fragm ...
- asp.net应用程序生命周期和asp.net网页的生命周期
一.asp.net应用程序生命周期 asp.net应用程序生命周期以浏览器向web服务器(比如IIS服务器)发送请求为起点,先后经历web服务器下的ISAPI(Internet Server Appl ...
- Asp.Net复习篇之Asp.Net生命周期与Asp.Net页的生命周期
Asp.Net生命周期与Asp.Net页的生命周期是一个比较重要的话题,有时可能似乎知道一些,但又说不出个所以然,而且时常把这两个概念混淆.现在也是该好好理清思路,把这两个概念搞懂. Asp.Net生 ...
- ASP.NET页面生命周期和asp.net应用程序生命周期
作为一个asp.net程序员,不了解ASP.NET页面生命周期和asp.net应用程序生命周期是绝对不行的,那永远只能是菜鸟级别.我很早就学过,可是没次还是得去翻,一些事件还是记不住,还是记在自己的b ...
- vue生命周期图示中英文版Vue实例生命周期钩子
vue生命周期图示中英文版Vue实例生命周期钩子知乎上近日有人发起了一个 “react 是不是比 vue 牛皮,为什么?” 的问题,Vue.js 作者尤雨溪12月4日正面回应了该问题.以下是尤雨溪回复 ...
- (5)连续非周期信号的傅里叶变换(频谱) & 周期信号的傅里叶变换
参考资料:<信号与系统(第二版)> 杨晓非 何丰 从傅里叶级数到傅里叶变换 通过分析连续周期信号的周期与频谱的关系,当周期趋于无穷大的时候,周期信号变成非周期信号.从频谱分析观点来看,当T ...
- 《深入Java虚拟机学习笔记》- 第7章 类型的生命周期/对象在JVM中的生命周期
一.类型生命周期的开始 如图所示 初始化时机 所有Java虚拟机实现必须在每个类或接口首次主动使用时初始化: 以下几种情形符合主动使用的要求: 当创建某个类的新实例时(或者通过在字节码中执行new指令 ...
- JSP和selevt 生命周期详解(JSP的生命周期和select很像,jsp底层就是一个selevt)
JSP: JSP的生命周期指从创建到销毁的整个过程.分为以下几个阶段: 1:编译阶段:servlet引擎编译servlet源文件,生成servlet类.当浏览器请求JSP页面时,JSP引擎会首先去检查 ...
- Salesforce 生命周期管理(一)应用生命周期浅谈
本篇参考: https://trailhead.salesforce.com/en/content/learn/trails/determine-which-application-lifecycle ...
随机推荐
- Linux基础——centos 跳过管理员密码进行登录(单用户模式、救援模式)
这里列举了两种更改或者取消管理员密码登录Linux系统的方法,其实两种方法类似,都是想方设法跳过用户认定,直接更改用户文件.更改密码的过程. 为了跳过系统正常启动过程中的某些步骤,必须知道大致的系统启 ...
- reading list
Machine Learning1. Deep Learningimagenet classification with deep convolutional neural networks. 20 ...
- 链接指示:extern "C"
C++程序有时需要调用其他语言编写的函数,最常见的是调用C语言编写的函数.像所有其他名字一样,其他语言中的函数名字也必须在C++中进行声明,并且该声明必须指定返回类型和形参列表.对于其他语言编写的函数 ...
- var和let/const的区别
let和const是 ES6 新增的命令,用于声明变量,这两个命令跟 ES5 的var有许多不同,并且let和const也有一些细微的不同,再认真阅读了阮一峰老师的文档后,发现还是有一些不知道的细节. ...
- 关于Simplicity Studio使用math.h编译出错
原因是未调用C标准库. 解决方法: 1.点项目右键——>properties——>C/C++Build——>Settings——>GNU ARM C Linker——>L ...
- 通过Apache配置web服务器反向代理
- 第一步: 到安装好的apache文件目录conf文件下,找到httpd.conf文件 找到如下配置,去掉#可以启动HTTP反向代理功能 : LoadModule proxy_module modu ...
- php编写的抽奖程序中奖概率算法
本文给大家分享的是php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法.用法很简单,代码里有详细注释说明,一看就懂,有需要的小伙伴参考下吧. 我们先完成后台PHP的流程,PHP的主要工作是负责配置奖项及 ...
- PHP练习题三
1.用PHP打印出前一天的时间格式是2006-5-10 22:21:21. echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’)); 2.不使用第三个变量交换两个 ...
- MapReduce数据筛选
需求: 编写MapReduce程序算出高峰时间段(如9-10点)哪张表被访问的最频繁的表,以及这段时间访问这张表最多的用户,以及这个用户访问这张表的总时间开销. 测试数据: TableName(表名) ...
- spring security采用基于持久化 token 的方法实现的remember me功能
采用该方法相较于简单加密方式安全一些.具体的原理见 http://wiki.jikexueyuan.com/project/spring-security/remember-me.html 一.建立 ...