深入理解 Android(安卓)Activity的生命周期
之前也说过了解Android Activity是十分重要的,因为android的应用的生命周期是由android 系统决定的!Android Activity生命周期中可认为分为7个阶段;用7个函数原型来描述吧
protected void onCreate(Bundle savedInstanceState)
protected void onStart()
protected void onResume()
protected void onPause()
protected void onStop()
protected void onRestart()
protected void onDestroy()
savedInstanceState对象是用于保存activity的对象的状态,为什么要提到这点呢?看看activity的过程描述吧!
更详细的说明可以看看《Google android 深入浅出》一书!不过看到上图,我想大家都可以很直观了解到activity的整个过程。每次焦点的变化同时有相应的阶段,这样也是android之所以高效原因之一吧!图上有三个循环,那又代表什么呢?没错,是activity的三个层面!看下图吧!
通过两个图,你会更清楚的了解activity的生命周期了,离开了可见阶段,或者说失去了焦点,activity就很可能被进程终止了!为什么说是可能呢?如果你可过我之前的博文的话,你应该知道android 虚拟机的工作原理!
activity主要生命周期的方法说明:
onCreate(Bundle savedInstanceState):创建activity时调用。设置在该方法中,还以Bundle的形式提供对以前储存的任何状态的访问!
onStart():activity变为在屏幕上对用户可见时调用。
onResume():activity开始与用户交互时调用(无论是启动还是重新启动一个活动,该方法总是被调用的)。
onPause():activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状态的,也是保护现场,压栈吧!
onStop():activity被停止并转为不可见阶段及后续的生命周期事件时调用。
onRestart():重新启动activity时调用。该活动仍在栈中,而不是启动新的活动。
onDestroy():activity被完全从系统内存中移除时调用,该方法被调用可能是因为有人直接调用onFinish()方法或者系统决定停止该活动以释放资源!
有兴趣的朋友看看《Google android 揭秘》吧!蛮有意思的!
更多相关文章
- Android文件系统的结构及目录用途、操作方法 整理
- Android之网络请求7————OkHttp源码4:网络操作
- [android]布局(容器)简介和使用方法
- android 动态控制状态栏显示和隐藏的方法实例
- Android(安卓)自定义View(API解析+Demo)
- Android实现ListView异步加载图片
- Android监听Home、电源键
- android ApiDemo学习(一)service总结
- Android(安卓)单独抽取 WebRtc-AGC(音频增益) 模块