Activity的生命周期--通过状态来理解
2016-10-04 13:44
302 查看
网上有很多关于Activity的生命周期的博文,但是大都是站在生命周期调用方法的角度,并没有从Activity状态转换的角度去想这个问题。
今天看到一篇文章站在Activity的四种状态的角度来阐述Activity的生命周期,感觉对Activity的理解更加深入了。所以写下留作笔记。
Activity有四种状态:
运行状态:Activity位于栈顶,正在与用户交互。
暂停状态:只是暂时失去焦点,比如被另一个Activity的View覆盖,但是没有被完全覆盖。
停止状态:完全失去焦点变为不可见。
销毁状态:被系统销毁。
下面用一张图来说明问题:
![](http://img.blog.csdn.net/20161003105133275?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
详细解释下这张图:
首先,Activity A开始启动的时候要先依次调用OnCreat方法——OnStart方法——OnResume方法,进入前台与用户交互,这时候就进入了运行状态。
之后,如果有另一个Activity B覆盖在了上述Activity A的上边但不是完全覆盖的时候,Activity A 便会调用OnPause进入暂停状态。
这时如果覆盖Activity A 的Activity B退出了,Activity A 会调用OnResume重新回到运行状态 。
如果Activity B没有退出,而Activity A变为完全不可见(比如点击了返回桌面的键),就会调用OnStop进入停止状态。再此被调用,会调用OnRestart——OnStart进入——OnResume进入运行状态。
如果被调用发现由于内存不足等原因应用进程被暂时终止了,Activity需要被重新创建,所以会调用OnCreat方法——OnStart方法——OnResume方法,进入了运行状态。
Activity调用finish方法后,就会调用OnDestroy方法(当然要先执行前边的生命周期中的方法)
不同的Activity对应不容的回调方法,这样理解是不是更容易些了呢?欢迎留言讨论。
今天看到一篇文章站在Activity的四种状态的角度来阐述Activity的生命周期,感觉对Activity的理解更加深入了。所以写下留作笔记。
Activity有四种状态:
运行状态:Activity位于栈顶,正在与用户交互。
暂停状态:只是暂时失去焦点,比如被另一个Activity的View覆盖,但是没有被完全覆盖。
停止状态:完全失去焦点变为不可见。
销毁状态:被系统销毁。
下面用一张图来说明问题:
详细解释下这张图:
首先,Activity A开始启动的时候要先依次调用OnCreat方法——OnStart方法——OnResume方法,进入前台与用户交互,这时候就进入了运行状态。
之后,如果有另一个Activity B覆盖在了上述Activity A的上边但不是完全覆盖的时候,Activity A 便会调用OnPause进入暂停状态。
这时如果覆盖Activity A 的Activity B退出了,Activity A 会调用OnResume重新回到运行状态 。
如果Activity B没有退出,而Activity A变为完全不可见(比如点击了返回桌面的键),就会调用OnStop进入停止状态。再此被调用,会调用OnRestart——OnStart进入——OnResume进入运行状态。
如果被调用发现由于内存不足等原因应用进程被暂时终止了,Activity需要被重新创建,所以会调用OnCreat方法——OnStart方法——OnResume方法,进入了运行状态。
Activity调用finish方法后,就会调用OnDestroy方法(当然要先执行前边的生命周期中的方法)
不同的Activity对应不容的回调方法,这样理解是不是更容易些了呢?欢迎留言讨论。
相关文章推荐
- Android理解:Activity状态和生命周期
- Android理解:Activity状态和生命周期
- Android---Activity生命周期状态
- Activity生命周期状态
- Activity生命周期理解
- Activity生命周期中的控件状态保存问题
- Activity生命周期理解
- Android---Activity生命周期状态
- Android新手入门教程(一):理解Activity生命周期
- Activity详解(生命周期、以各种方式启动Activity、状态保存,完全退出等)
- android Activity的生命周期于四种加载状态
- [android] Activity 的生命周期 以及 横屏竖屏切换时 Activity 的状态变化
- 通过小例子 了解 Activity 生命周期 —— Android 发现之旅 - 2011/03/25
- Android---Activity生命周期状态
- Android---Activity生命周期状态
- Activity详解(生命周期、以各种方式启动Activity、状态保存,完全退出等)
- 深入理解 Android Activity的生命周期
- Activity 生命周期与状态保存
- 线程状态、sql限定查询、servlet生命周期、Spring理解、
- 有助于对android的Activity生命周期的理解的例子