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 ...
随机推荐
- spring mvc 第一天【注解实现springmvc的基本配置】
创建pojo,添加标识类的注解@Controller,亦可添加该Handler的命名空间:设置类的@RequestMapping(value="/hr") 该类中的方法(Handl ...
- [Swift] 疑难杂症
[Swift] 疑难杂症 1.class .... has no initializers --> class 的每一个元素都需要初始化,否则会报错,除了可空元素
- Tesseract API在VS 2013中的配置以及调用
[Tesseract]Tesseract API在VS 2013中的配置以及调用 时间:2016-05-31 20:35:19 阅读:127 评论:0 收藏:0 ...
- 关于localstorage的几个测试
1.如果在同一主域名下,localstorage能访问吗? 测试: 在www\index.php 中写入 localstorage 在www\wex5fortp\ui 目录下能否读到?? 结论:可以得 ...
- array_filter,匿名函数
static function get_categoryII() { return array( array('id' => 1, 'c1id' => 1, 'name' => '1 ...
- keepalived衡环境搭建
环境信息 keepalived master 192.168.1.106 keepalived backup 192.168.1.103 vip 192.168.1.100 1,安装keepalive ...
- String、StringBuffer、StringBuilder的区别
在日常开发过程中String字符串估计是被用到最多的变量了,最近看了一些String.StringBuffer和StringBuilder的东西,三者都可以对字符串进行操作,他们究竟有什么区别,以及适 ...
- ABAP 字符串操作
1).SHIFT:截断字符串 SHIFT {c} [BY {n} PLACES] [{mode}].: 作用:去掉字符串的前n个位置的字符,如果n未指定,默认为1,如果指定的n小于等于0,则字符串不变 ...
- iis7下配置php出现404.17错误的解决办法
服务器上建有几个PHP站点,都在正常运行.今天又新建了一个PHP站点,处理程序模块配置的和其他几个都一样,但就是跑不起来,一直提示404.17错误,重启服务器也不行. 最后实在没办法了,就把正常运行站 ...
- react 写的省市三级联动
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Ba ...