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 ...
随机推荐
- Odoo Web Service API
来自 Odoo Web服务暴露出相关的服务,路由分别是 /xmlrpc/ /xmlrpc/2/ /jsonrpc 根据 services 调用 后端对应服务的 方法method [定义 openerp ...
- mysql 行转列 和 列转行
我们有时会将一些数据已逗号的连接方式存在数据库,当取出时我们又想单独一个个取出来 利用help_topic 的自增性 LENGTH(wu.`password`) - length(replace(wu ...
- ---JS canvas学习笔记
context的fillStyle属性 fillStyle=color | gradient | image | canvas |video strokeStyle也有上述属性. 1.color:#f ...
- Android剪贴板操作----ClipboardManager
andrid developers java.lang.Object ---android.text.ClipboardManager ------android.context.ClipboardM ...
- python 协程
协程 协程就是一种用户态内的上下文切换技术. 1.使用gevent实现协程, gevent.spawn()调用函数, gevent.sleep(1) 模拟阻塞,实现切换. import gevent ...
- web程序员该学习什么
以我个人的观点分了几个级别,仅供参考 初级发展(学习期) 前端应该学习HTML javascript css 能够制造简单的前端页面满足自己的工作需求 后端应该学习asp.net or jsp or ...
- 自动生成查找组件的lua代码
本篇主要解决的问题是使用lua脚本编写unity业务逻辑时,自动生成一些查找组件及绑定控件事件的lua代码! 现在很多unity项目都是用ulua作为热更新解决方案,因此需要用lua来写相关的逻辑,经 ...
- js 阻止浏览器默认行为
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 现在还需要测试或者QA人员吗?
Facebook没有专门的测试人员,都是开发自己测:微软裁掉了测试部门,改由开发测:google有少量的测试人员,主要做测试自动化框架开发或者性能.安全等专项测试,测试用例还是开发人员自己设计自己跑( ...
- svchost占用cpu
发现有一个svchost始终占用cpu. 查看任务管理器PID列,在tasklist /svc中查找相关列,对应若干服务. 一个一个检查这些服务,确认是windows update服务引起,停止win ...