Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

一起Talk Android吧(第三十一回:Android中的Activity三)

$
0
0

各位看官们,大家好,上一回中咱们说的是Android中Activity的例子,这一回咱们继续说该例子。闲话休提, 言归正转。让我们一起Talk Android吧!


看官们,好久不见,继上一回说完Acitivity的例子后,有部分看官想继续了解Activity的生命周期的内容,我们就继续接着上一回的话题进行。时间有些长了,如果大家忘记的话可以打开上一回中Acitivity生命周期的图形。我们会结合图形中的内容进行讲解。

看官们,在详细介绍Activity生命周期前,我们先介绍一下Activity的运行状态。它有以下六种运行状态:

  • 初始化(init)
  • 启动(start)
  • 运行(running)
  • 暂停(pause)
  • 停止(stop)
  • 销毁(destroy)

接下来,我们分别介绍这六种状态。

初始化(init)

在这个状态下主要是进行初始化Activity相关的工作,比如加载布局中的控件。该状态对应生命周期中的onCreate方法。当Activity处于这个状态时,就会回调onCreate方法,因此,我们可以该方法中做一些与Activity初始化相关的工作。

启动(start)

在这个状态下,会加载Activity,直到Activity可以被看到。该状态对应的是生命周期中的onStart方法。当Activity处于这个状态时,就会回调onStart方法。

运行(running)

在这个状态下,Activity获取到了焦点,我们可以对Activity进行操作。Activity也会响应我们的操作。该状态对应的是生命周期中的onResume方法。当Activity处于这个状态时,就会回调onResumes方法。因此我们可以在该方法中处理一些响应Activity操作的事情,比如设置事件监听器等。

暂停(pause)

在这个状态下,我们仍然可以看到Activity,但是不能在Activity中获取焦点,我们需要在该状态下保存Activity中的相关数据,以便Activity再次运行时使用。该状态对应的是生命周期中的onPause方法。当Activity处于这个状态时,就会回调onPause方法。因此我们可以在该方法中保存Activity中的相关数据。

停止(stop)

在这个状态下,会移除Activity,直到我们看不到Activity为止。该状态对应的是生命周期中的onStop方法。当Activity处于这个状态时,就会回调onStop方法。

销毁(destroy)

在这个状态下会释放Activity中相关的资源。该状态对应的是生命周期中的onDestroy方法。当Activity处于这个状态时,就会回调onDestroy方法。因此我们可以在该方法中处理一些释放资源相关事情,比如注销广播接收器,销毁服务等。

看官们,关于Activity的状态我们就介绍这些,希望大家能够理它们的含义,我觉得大家可以结合进程状态来理解Activity的状态,因为从进程的角度看Activity也是一个进程。此外,我在这里介绍的状态和官方介绍的状态不一样,官方给出的状态只有三种:运行,暂停,停止。对比来看,官方状态中的运行、暂停和停止与我们介绍中的运行、暂停和停止一致。我们介绍的状态比官方状态多了三种,这三种是我们为了方便大家理解而加上去的,加上这些状态后,每一种状态就会对应一种回调方法,这样可以帮忙大家理解如何去使用不同的回调方法。从知识的准确性上来讲,大家以官方内容为准。

最后说一些个人观点:我感觉官方给的这个状态是不完整的,没有初始化直接就是运行,显然不合理。当然了,官方可能有其它的理由吧。我这也是一家之言,欢迎大家来讨论。

各位看官,关于Android中的Activity的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!


作者:talk_8 发表于2017/7/30 11:32:29 原文链接
阅读:84 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>