跟着Google学Android —— 3.1 管好Activity的生命周期

Posted 浪也不争春

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟着Google学Android —— 3.1 管好Activity的生命周期相关的知识,希望对你有一定的参考价值。

当我们在app的不同页面间穿梭翱翔的时候,app中的Activity也在他们各自的生命周期中转换着不同的状态。当用户执行进入或者是离开某个Activity的操作时,android系统会调用一系列生命周期的回调函数进行处理,而我们也可以重写这些回调函数,让Activity在不同的状态下执行我们想要的操作。

生命周期回调方法

下图展示了一个Activity的生命周期以及回调方法。这张图看起来就像是一个梯形金字塔,每一步都对应着Activity的一种生命状态。


在这些状态中,只有如下三种状态是静态的,即可持续一段时间的,其他状态都是瞬态的:

Resumed:在这个状态下,Activity处于前台,用户可以与它交互(也可以称之为Running态,即运行态);

Paused:在这个状态下,Activity部分被其他Activity遮挡(其他处于前台的Activity是半透明的或者并没与充满整个屏幕),处在这个状态的Activity并不接收用户输入,也不执行任何代码;

Stopped:在这个状态下,Activity是完全被隐藏的,用户无法看到,这种状态可以认为Activity处于后台,这个Activity实例以及它的状态信息在这种状态下都被保存了下来,但是不能执行任何代码。

Created和Started这两个状态都是瞬间态的,系统会在到达这两个状态后很快就调用后面的生命周期回调方法,即系统在调用onCreate()之后紧跟着就会调用onStart(),然后再紧跟着调用onResume()。

Cteate Activity

当用户点击app图标后,系统会调用你声明为launcher(或是main)Activity对应的onCreate()方法。这个Activity也是你的app的UI主入口。这也是Android系统和其他编程模式不同的地方,它并不是通过调用main()函数来启动,而是在不同的生命周期状态时调用不同的生命周期回调方法。

以上是关于跟着Google学Android —— 3.1 管好Activity的生命周期的主要内容,如果未能解决你的问题,请参考以下文章

跟着老杜学MyBatis+第3天+使用MyBatis完成CRUD

跟着老杜学MyBatis+第3天+使用MyBatis完成CRUD

跟着老杜学MyBatis+第3天+使用MyBatis完成CRUD

跟着开源项目学因果推断——causalnex(十三)

跟着开源项目学因果推断——causalnex(十三)

最新Android音视频进阶指南,跟着大神学音视频开发,事半功倍