Android Activity生命周期
从android api文档摘抄出来的activity生命周期图如下:

Activity有如下四种状态
a、活动状态 activity处于屏幕前台,获取到了焦点可以和用户进行交互,同一时刻只有一个activity处于活动状态
b、暂停状态 activity可视但失去焦点(被其它activity部分遮盖或者处于透明activiy下)
c、停止状态 activity完全被另外一个activity遮挡,但保留用户状态信息d、非活动状态 activity尚未启动或者已经被手动终止或者由于内存不足被系统回收
activity生命周期中重要的方法
a、oncreate 加载布局文件,绑定各类监听事件
b、onstart 界面可见但未能获取焦点,不能与用户交互
c、onrestart 当activity执行过onstop方法,再进行启动时候会调用
d、onresume 界面可见且能获取到焦点,能与用户交互
e、onpause 界面失去焦点,但可视
f、onstop 当activity完全不可视
g、ondestroy 手动调用finish或者内存不足系统回收
举例说明activity各个方法切换,新建A,B,C三个activity,其中B设置成透明
a、启动主页面A,onCreate(A)- onStart(A) - onResume(A)
b、打开透明B,onPause(A)-onCreate(B)- onStart(B) - onResume(B)
c、点击back按钮回到页面A,onPause(B)- onResume(A)- onStop(B)- onDestroy(B)
d、打开全屏页面C,onPause(A) - onCreate(C)- onStart(C) - onResume(C)- onStop(A)
e、再次点back按钮,onPause(C)- onRestart(A)- onStart(A) - onResume(A)- onStop(C)- onDestroy(C)
f、再点击back onPause(A)- onStop(A)- onDestroy(A)
onSaveInstanceState和onRestoreInstanceState方法
a、当activity非正常(比如按home键或者跳转下一个页面)退出后,会在调用onPause之后调用onSaveInstanceState保存临时状态,以便在onCreate或者onRestoreInstanceState恢复状态
b、调用onSaveInstanceState和调用onRestoreInstanceState非对称,也就是调用了onSaveInstanceState方法,再返回不会调用onRestoreInstanceState方法
c、onRestoreInstanceState会在onresume之前被调用,当栈顶activity B异常退出,会激活栈中第二个activity A,这时会触发A的onRestoreInstanceState方法;或者当横竖屏转化时候也会触发oncreate和onRestoreInstanceState方法
Android Activity生命周期的更多相关文章
- [转]: 两分钟彻底让你明白Android Activity生命周期(图文)!
转自:http://blog.csdn.net/android_tutor/article/details/5772285 大家好,今天给大家详解一下Android中Activity的生命周期,我在前 ...
- Android Activity生命周期详讲
管理 Activity 生命周期 通过实现回调方法管理 Activity 的生命周期对开发强大而又灵活的应用至关重要. Activity 的生命周期会直接受到 Activity 与其他 Activit ...
- android Activity生命周期(设备旋转、数据恢复等)与启动模式
1.Activity生命周期 接下来将介绍 Android Activity(四大组件之一) 的生命周期, 包含运行.暂停和停止三种状态,onCreate.onStart.onResume.o ...
- Android Activity生命周期以及Fragment生命周期的区别与分析
Android Fragment生命周期图: Activity生命周期图: 对照图: Fragment生命周期分析: 1. 当一个fragment被创建的时候,它会经历以下状态. onAttach() ...
- Android Activity 生命周期详解
学习android开发这么久对于activity的生命周期还没有仔细思考过,所以,我大致的把这些东西整理一下,希望通过这使自己理解的更透彻点吧! 首先看一下Activity生命周期图和它的的四个阶段 ...
- xamarin Android activity生命周期详解
学Xamarin我为什么要写这样一篇关于Android 的activity生命周期的文章 已经学Xamarin android有一段时间了,现在想起当初Xamarin也走了不少的弯路.当然Xamari ...
- Android——Activity生命周期(转)
Activity生命周期 子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细 ...
- Android Activity生命周期的几个问题
每一个Android开发者都应该知道,android系统有四个重要的基本组件,即Activity(活动).Service(服务).Broadcast Receive(广播接收器)和Content ...
- android --Activity生命周期具体解释
一. 再探Activity生命周期 为了研究activity的生命周期,简单測试代码例如以下. package com.example.testactivity; import android.app ...
随机推荐
- (转载)HTML5 LocalStorage 本地存储
原文地址:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html HTML5 LocalStorage 本地存储 说到本地 ...
- secure boot(安全启动)下为内核模块签名
上一篇随笔中提到了如何在secure boot下安装Nvidia显卡驱动 >>上一篇随笔 如果不需要安装Nvidia显卡驱动,而且要生成密钥,可以参考>> 这篇文章 这里假设生 ...
- Python全栈之路目录结构
基础 1.Python全栈之路-----基础篇 2.Python全栈之路---运算符与基本的数据结构 3.Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数 4.Python全栈 ...
- Python列表切成多个
li = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18] #arr是被分割的list,n是每个chunk中含n元素. def chunks(arr, n) ...
- Finder Item脚本如何包装成 Mac App
第一步,包装 记得之前把一个 java 程序的 jar 包 用 automator包装成了 app, 但自己找不到做法了.回头我想了想 这么实验可行. 这样做成 app 后保存在 /Applicati ...
- jQuery 的属性
一.显示和隐藏的属性 hide(隐藏),show(显示) 下面是例子 <script type="text/javascript"> $(document).read ...
- SAP 采购订单行项目中科目分配被隐藏,发现行项目设置中显示字段长度为0
1.sm30 维护 视图 TCVIEW 修改对应字段的显示长度
- 消除a标签点击后产生的虚线框
为a标签添加这条属性: a:focus {outline:none;-moz-outline:none;}
- 拓扑排序(topsort)
本文将从以下几个方面介绍拓扑排序: 拓扑排序的定义和前置条件 和离散数学中偏序/全序概念的联系 典型实现算法解的唯一性问题 Kahn算法 基于DFS的算法 实际例子 取材自以下材料: http://e ...
- JavaSE基础知识总结
最近回顾了一下Java的基础知识,决定写成博客梳理一遍,主要是JavaSE部分最基础的知识,适合考前突击,学后回顾,不适合作为初学材料. 简单的列个目录吧: 一.数据类型和运算符 二.流程控制与数组 ...