Android Activity生命周期分析
来源:互联网 发布:电影台词拼接软件 编辑:程序博客网 时间:2024/05/18 01:04
1.Activity官方介绍
开心的事:谷歌开发者中国不用被墙了。
官方API:
https://developer.android.google.cn/reference/android/app/Activity.html
(1)Activity定义:
An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setContentView(View).
Activity是用户能够做的关注的事情,几乎所有的Activity都与用户交互,因此Activity类负责创建一个window,可以用setContentView方法放置UI。
(2)Activity特点:
1.系统中Activity作为一个Activity栈进行管理。当一个新Activity开始时,它被放置在栈的顶端,并变成正在运行的Activity,上一个Activity放在栈的下面,将不会再回到前台直到新的活动退出。
2.如果activity在屏幕的前台(在堆栈的顶部),它是正在运行的。
3.如果Activity已经失去焦点,但仍然可见(新的非完整尺寸或透明Activity在Activity的顶端),则会paused,暂停的活动是完全活动的(它保持所有的状态和成员信息和保持附加到window管理器),但是在极低内存下会被杀死。
4.如果一个activity完全被另一个activity遮挡,则会stopped。它任然保持所有状态和成员信息,但是,它不再是用户可见的,所以窗口被隐藏,并且其他地方需要内存时,它通常会被系统kill。
5.如果一个Activity是paused或stopped,系统可以通过请求它完成从内存中删除activity,或简单的杀死其进程。当它再次显示给用户时,必须重启和恢复之前的状态。
2.Activity方法和生命周期
(1)onCreate(): 当Activity第一次创建时调用,通常在这个函数中完成Activity的初始化操作,如设置布局、初始化视图、绑定事件等;
(2)onStart() :在onCreate()函数调用之后使用,此时Activity还处在不可见状态,下一个状态就是变得可见,onStart() 在可见之前被调用;
(3)onResume() :Activity变为可见时调用,执行完onResume之后,Activity就会请求AMS渲染它所管理的视图。此时的Activity一定位于返回栈的栈顶,并且处于运行状态;
(4)onPause():这个函数在系统准备去启动或恢复另一个activity时调用,也就是在Activity即将从可见状态变为不可见时,一般将一些消耗CPU的资源释放掉,以及保存一些关键数据;
(5)onStop() :这个函数在Activity完全不可见时调用。它和onPause()区别在于,如果新启动的Activity是一个对话框式Activity时,那么onPause函数会执行,onStop()不会执行;
(6)onDestroy() : 这个函数在Activity被销毁之前调用,之后Activity的状态将变为销毁状态;
(7)onRestart() :这 个函数在Activity由停止状态变为运行状态之前调用,也就是Activity被重新启动了;
从onCreate()函数到onDestroy()函数运行时期就是一个完整的生命周期,onCreate()完成各种初始化动作,onDestroy()完成释放内存的操作。
activity在onResume()函数和onStop() 函数之间是可见的。
具体看生命周期图谱。
- Android Activity生命周期分析
- Android Activity生命周期分析
- Android Activity的生命周期分析
- Android 深入分析Activity生命周期
- Android Activity生命周期理解误区进行分析
- Android-Activity的生命周期全面分析
- Android中Activity生命周期测试分析
- Android四大组件之Activity生命周期分析
- 【Android】【Activity生命周期】Activity生命周期
- Android Activity生命周期以及Fragment生命周期的区别与分析
- Android Activity的生命周期与异常生命周期的分析
- Android Activity生命周期以及Fragment生命周期的区别与分析
- Android Activity生命周期以及Fragment生命周期的区别与分析
- Android Activity生命周期以及Fragment生命周期的区别与分析
- 分析Activity生命周期
- Activity生命周期的分析
- Activity的生命周期分析
- Activity生命周期分析
- Mysql之Percona(1)最新版本5.6.10…
- 盘点3款原型工具的部件样式
- greenplum4.2安装配置文档-手把手…
- greenplum4.2集群手把手安装配置文档
- greenplum4.2安装配置文档-手把手…
- Android Activity生命周期分析
- greenplum4.2安装配置文档-手把手…
- 测试覆盖率工具:EclEmma
- oracle10G 32位数据库在win7…
- linux双机互信设置
- pandas之dataframe移动复制删除列
- linux时钟同步
- gbase8a 4节点安装配置过程
- mysql 导出表结构操作