摘自:http://blog.csdn.net/wyh0802/archive/2010/09/19/5895552.aspx
[两分钟彻底让你明白Android Activity生命周期(图文)!]
可借鉴:http://blog.csdn.net/android_tutor/article/details/5772285
1、Activity有三种状态:
- 激活或者运行状态,运行在前台(在当前Activity栈的栈顶)。
- 暂停状态,失去了焦点但是仍然对用户可见,比如有其他的Activity在它之上,或者透明或者没有遮住整个屏幕。
- 停止状态,被其他Activity覆盖,需要注意的是包括暂停状态在内,这两种状态都仍然保存了所有状态信息,直到被系统终止。
2、操纵生命周期的七种方法:
方法
描述
是否可被杀死
下一个操作
onCreate() |
初始化,创建views,绑定list的数据等等 |
否 |
onStart() |
onRestart() |
在Activity被停止后调用 |
否 |
onStart() |
onStart() |
在Activity被用户可见之前调用 |
否 |
onResume() 或者 onStop() |
onResume() |
在Activity和用户交互之前调用(快速,持久化) |
否 |
onPause() |
onPause() |
在系统要激活另一个Activity时调用(快速) |
是 |
onResume() 或者 onStop() |
onStop() |
在Activity不再可见时调用 |
是 |
onRestart() 或者 onDestroy() |
onDestroy() |
在Activity被销毁时调用 |
是 |
3、Activity的运作流程
- 一般启动Activity:onCreate -> onStart -> onResume
- 呼叫另一个Activity: onPause -> onCreate -> onStart -> onResume -> onStop
- 还原Activity: onPause -> onRestart -> onStart -> onResume -> onStop -> onDestroy
- 退出Activity: onPause -> onStop -> onDestroy
- 回收再启动Activity: onCreate -> onStart -> onResume
4、作者经验
- 许多人尤其是初学者都认为Activity的生命周期并不重要,只要onCreate了就ok,实际则不然,当你需要在多个Activity之间切换的时候生命周期的作用就展现了出来,尤其是在Activity之间进行数据传递或者对数据库操作的时候。
- onResume和onRestart的作用有些相似,很多人对此感到困惑或者难以区分。不过由上面的Activity的运作流程可以看出每一个流程中几乎都存在onResume,而且是在onStart之后,所以有时候将一些必要的操作放在onResume中比放在onRestart中要好。
分享到:
相关推荐
Activity生命周期源代码 Activity生命周期源代码 Activity生命周期源代码
日志追踪(完成以下六步、明白android的四种状态的生命周期和相互切换): 1、启动app、查看控制台输出,发现依次触发onCreate、onStart、onResume这三个方法 2、点击按钮(弹窗风格的Activity),控制台输出onPause...
很好的一张Activity生命周期图,可以很清楚了解Activity生命周期的流程图
Activity7大生命周期与4种启动模式(standard,singleTop,singleTask,singleIntance)
详细描述 Android四大控件之一的Activity的生命周期,以及使用注意事项
Activity生命周期
Activity生命周期及Intent传值
Activity生命周期Demo
一个测试Activity生命周期的小DEMO。
Activity生命周期的完美呈现,通过一个简单的项目,可以比较好地理解Activity的整个生命周期,对于初学者有一定的帮助!
andriod 开发之 Activity生命周期总结,
activity生命周期详解,http://blog.csdn.net/huiblog/article/details/53292490
深入理解Activity生命周期示例代码.
Activity生命周期 启动模式实例
Activity生命周期运行时序图,需要了解的可以下载看看
基于Android Studio,通过简单的实例分析Activity的生命周期
Activity生命周期示意图
Android Activity生命周期演示源码,从第一个Activity到第二个Activity,Android Activity形象的说就是一个容器,在里面放置各种控件(按钮,文本,复选框等),就形成了软件的界面~ Activity是可见的。
主要讲讲: 何时onPause, 何时onStop,何时onDestory; 以及恢复的时候,何时onRestart,何时onResume。
因为Fragment是依赖Activity的,因此为了讲解Fragment的生命周期,需要和Activity的生命周期方法一起讲,即Fragment的各个生命周期方法和Activity的各个生命周期方法的关系和顺序,