Activity有三种状态:
活动或者称作运行状态:当Activity获得焦点时,Activity处于运行状态,负责与用户交互,此时的Activity处于Activity栈的最顶端;
暂停状态:Activity失去焦点但仍然可见的状态;比如被一个透明的Activity覆盖,或者被非全屏的Activity覆盖,暂停的Activity 没有被系统杀死,系统保存了它的状态,可以恢复到暂停以前的状态,但是当系统内存不足的情况下,会回收暂停的Activity。
停止状态:Activity被另一个Activity完全覆盖,系统可以回收它,通过通知它调用finish方法,或者直接杀掉它的进程,当它恢复显示的时候,它必须重新开始,重新恢复之前的状态。
Activity从一个状态运行到另一个状态,状态改变时会执行相应的周期方法:
void onCreate(Bundle savedInstanceState)
void onStart()
void onRestart()
void onResume()
void onPause()
void onStop()
void onDestroy()
一个七个周期方法,你可以重写这些方法,当状态改变时来完成你的工作,所有的Activity必须重写
onCreate方法,Activity第一次运行的时候会执行此方法,你可以在此方法中完成一些初始化操作。
在七个周期方法中,包含着三个嵌套的周期:
完整的生命周期:
onCreate()到onDestroy()方法,onCreate()方法中经常做一些全局的初始化操作,onDestroy()中释放或者保存资源.
可见生命周期:
onStart()到onStop()方法,在这个周期中,用户可以看见Activity,但不一定能够与之交互,这两个方法可以随着状态的变化被执行多次。
前景生命周期:
onResume()到onPause()方法,在这个周期中,Activity处在其它Activity之前,即在Activity栈的最顶端,负责与用户进行交互,伴随着状态的变化,这两个方法可以被执行多次。
当Activity的进程被杀掉之前,一定会执行方法,onPause(),可能会执行onStop(),onDestroy(),所以可以在opause()方法中做一些持久化操作。
保存Activity状态:
onSaveInstanceState()方法,在activity被回收之前调用,即在onpause()方法执行前调用,系统提供一个Bundle对象,可以用来存储状态信息,当Activity重新开始后,系统会把Bundle对象传给onCreate方法,onRestoreInstanceState()方法,可以在它们中恢复状态。
用户点击back键时不会触发onSaveInstanceState()方法。
测试中发现,当前Activity上弹出一个对话框后,Activity失去焦点,但仍然可见,此时不会触发onPause()方法,取消对话框后,也不会触发onResume()方法,当前Activity上弹出一个对话框主题的Actiivty后,onPause()方法会被触发,返回时onResume()方法会被触发,即周期方法的触发是Activity级别的.
分享到:
相关推荐
Activity生命周期
Activity生命周期源代码 Activity生命周期源代码 Activity生命周期源代码
很好的一张Activity生命周期图,可以很清楚了解Activity生命周期的流程图
activity生命周期详解,http://blog.csdn.net/huiblog/article/details/53292490
日志追踪(完成以下六步、明白android的四种状态的生命周期和相互切换): 1、启动app、查看控制台输出,发现依次触发onCreate、onStart、onResume这三个方法 2、点击按钮(弹窗风格的Activity),控制台输出onPause...
实验一 第一个Android程序和Activity生命周期。实验要求: 1.用工程向导生成第一个Android程序,并在模拟器上运行 注意在新建应用的选择SDK版本时选API 18 2.熟悉Android应用程序的基本文件结构 3.了解使用开发环境...
andriod 开发之 Activity生命周期总结,
Activity7大生命周期与4种启动模式(standard,singleTop,singleTask,singleIntance)
Activity生命周期Demo
详细描述 Android四大控件之一的Activity的生命周期,以及使用注意事项
一个测试Activity生命周期的小DEMO。
深入理解Activity生命周期示例代码.
Android Activity生命周期演示源码,从第一个Activity到第二个Activity,Android Activity形象的说就是一个容器,在里面放置各种控件(按钮,文本,复选框等),就形成了软件的界面~ Activity是可见的。
Activity生命周期 启动模式实例
Activity生命周期运行时序图,需要了解的可以下载看看
Activity生命周期的完美呈现,通过一个简单的项目,可以比较好地理解Activity的整个生命周期,对于初学者有一定的帮助!
activity生命周期、线程优先级、异常销毁、任务栈 参考代码
Activity生命周期及Intent传值
主要讲讲: 何时onPause, 何时onStop,何时onDestory; 以及恢复的时候,何时onRestart,何时onResume。
基于Android Studio,通过简单的实例分析Activity的生命周期