Android Zone

Android Activity生命周期解析

2018-02-22  本文已影响4人  翻译不了的声响

序言


Activity 用户可以做单一的、集中的事情。几乎所有的Activity都与用户进行交互,所以Activity类负责创建一个窗口,你可以通过调用setContentView(View)把你的UI布局放置在Activity的窗口中。作为四大组件之一,使用频率非常高。深入了解Activity,对于我们高质量开发是很有帮助的,下面我们就来看看Activity的生命周期。

正文


Android系统中是通过Activity栈的方式来管理Activity的,而Activity自身则是通过生命周期的方法来管理的自己的创建与销毁。那么我们就来看看Activity生命周期是怎样运作的。

1. 生命周期简介

周期即活动从开始到结束所经历的各种状态。生命周期即活动从开始到结束所经历的各个状态。从一个状态到另一个状态的转变,从无到有再到无,这样一个过程中所经历的状态就叫做生命周期。

Acitivity本质上有四种状态:

在上面的四中常有的状态之间,还有着其他的生命周期来作为不同状态之间的过度,用于在不同的状态之间进行转换。

2. 生命周期状态

我们先来看看下面这张经典的生命周期流程图:

Activity生命周期流程图
3. 生命周期调用

1)启动Activity
onCreate() —> onStart() —> onResume()
2)按Home键回到桌面 / 锁屏
onPause() —> onStop()
3)从桌面回到Activity / 解锁
onRestart() —> onStart() —> onResume()
4)跳转新Activity
A:onPause() —> onStop()
B:onCreate() —> onStart() —> onResume()
A —> B:onPause()_A —> onCreate()_B —> onStart()_B —> onResume()_B —> onStop()_A
5)返回上一个Activity
B:onPause() —> onStop() —> onDestroy()
A:onRestart() —> onStart() —> onResume()
B —> A:onPause()_B —> onRestart()_A —> onStart()_A —> onResume()_A —> onStop()_B —> onDestroy()_B
6)退出Activity
onPause() —> onStop() —> onDestroy()

参考

Activity官方文档
http://www.android-doc.com/reference/android/app/Activity.html

结语


至此Activity的整个生命周期都介绍完了,现在我们再看之前的生命周期流程图,是不是清晰许多。搞清楚Activity活动原理,这样理解起来就会容易许多,工作中也能如鱼得水。

上一篇下一篇

猜你喜欢

热点阅读