Android 生命周期-笔记
来源:互联网 发布:js设置div display 编辑:程序博客网 时间:2024/06/07 03:58
转载请注明出处:http://blog.csdn.net/js331455217/article/details/40911595#t3
Android生命周期-初识
Activity是整个Android应用程序生命周期的重要组成部分。同时,Activity具备自身的生命周期。Android系统是通过树形结构管理Activity,同时Android系统提供了一个ActivityManager管理器管理Activity。Android系统提供一个专用的堆栈管理Activity的创建、运行和销毁。
下图是Activity整个生命周期图:
Activity生命周期状态如下:
1. 正常启动Activity,Activity回调函数执行顺序如下:
onCreate()--- >onStart()--- >onResume()
这个Activity是第一个被添加进入堆栈,此时,它处于栈顶
2. 正常结束Activity生命周期,Activity回调函数执行顺序如下:
onPause()--- >onStop() --- >onDestroy()
它被堆栈移除
3. 从当前Activity跳转到另一个Activity时,Activity回调函数执行顺序如下:
当前Activity(MainActiivty):onPause()--->onStop()
目标Activity(SecondActivity):onCreate--->onStart() --- >onResume()
当前Activity被放到栈底,目标Activity被放在栈顶
4. 从第二个Actvity回退到第一个Activity(MainActivity)时,Activity回到函数执行顺序如下:
第二个Activity(SecondActivity):onPause()--->onStop()--- >onDestroy()
主Activity(MainActivity):onRestart()--->onStart() --- >onResume()
SecondActiivty被移出堆栈,MainActivity被移到栈顶
Activity类似情况,以此类推。
从上面日志可以知道,一个Activity基本有4种状态:
1.一个Activity在屏幕顶部(也就是我们现在当前见到的界面),指明它是出于激活状态或者正在运行状态;
2.Activity整个界面是失去焦点,但是,它还是处于可见状态(即onPause状态)。
此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。但是,当系统内存极度紧张时,这个Activity有可能被系统杀死
3.一个Activity完全被其它Activity遮挡时(即onStop状态),它仍然保留着Activity所有状态和信息。然而,用户不能够看见它显示的界面和它的界面窗口被隐藏。当系统需要内存时,在这个状态的Activity经常被系统杀死
4.如果一个Activity处于onPause()或onStop状态时,系统需要内存时,系统能够终止这个Activity。
测试源码下载路径:http://download.csdn.net/detail/js331455217/8134217
- Android笔记:组件生命周期
- Android学习笔记--生命周期
- Android Fragment 生命周期笔记
- Android 生命周期-笔记
- Android-Activity生命周期笔记
- Android笔记Activity生命周期
- Android 生命周期笔记
- Android生命周期学习笔记
- Android生命周期巩固笔记
- Android生命周期学习笔记
- 【Android笔记】Service的生命周期
- android生命周期函数学习笔记
- 2.Android学习笔记-生命周期
- Android学习笔记_18_Activity生命周期
- Android学习笔记2-生命周期
- Android笔记 fragment的生命周期
- Fragment生命周期---Android学习笔记
- android学习笔记 -- Activity生命周期
- OpenCV入门(二十一)-- 绘制彩色图像的直方图
- Windows7 64 VS2010/2012 去掉VMware菜单
- iOS开发之静态库的制作
- 博客搬家
- 【Leetcode】Unique Binary Search Tree II (DP)
- Android 生命周期-笔记
- PHPMYADMIN简明安装教程
- 设计模式学习——模板方法模式
- Linux内核编译静态库的方法
- 虚函数的实现机制
- 【案例分析】Linux下如何查看端口占用情况
- opengl编程指南 第七版 源码有bug Page35 lines.c 红宝书
- 插入排序之算法研究
- 【android】Application 使用分析