Android应用程序的生命周期

基本指南编程android-2

当您开始使用C ++或Java之类的语言进行编程时,首先要学习的主要方法是main方法,即在启动应用程序时操作系统将调用的方法。

在Android中,没有这样的主要方法,但是有几种我们的活动方法会在SSOO发生时被调用 重要的事件。 在本章中,我们将深入研究这些事件是什么以及它如何工作。 活动的完整周期 Android。 官方文件 提供了有关此主题的广泛解释,在这里我们将研究最重要的元素以及在处理它们时的一些常见错误。

Android的生命周期遵循以下方案:

android生命周期

生命周期事件

  1. onCreate(捆绑)
    • 代表当 活动已创建。 在Android上创建新活动时,通常会由向导生成此方法,这是我们创建活动所需的一切的地方。 如果先前已将活动数据保存在Bundle对象中,则可以使用它来重新生成它。 通常我们不会使用它。
  2. onStart()
    • 活动将继续到 在屏幕上,尽管不一定可见。 如果从停靠站出发,我们将首先经过onRestart()。
  3. onRestart()
    • 当我们从onStop()调用中获取onStart()之前的内容。
  4. onResume()
    • 活动将开始 回应互动 用户。
  5. onPause()
    • 该活动将 dejar de responseer 与用户互动。
  6. onStop()
    • 活动已完全结束 背景.
  7. onDestroy()
    • 活动 它会被摧毁 和您的资源被释放。

当我们需要实现这些方法之一时,我们将使用以下配置文件将其添加到我们的活动中:

公共类MyActivity扩展了Activity {受保护的void onCreate(捆绑的savedInstanceState){super.onCreate(savedInstanceState); ...}受保护的void onStart(){super.onStart(); ...}受保护的void onRestart(){super.onRestart(); ...}受保护的void onResume(){super.onResume(); ...}受保护的void onPause(){... super.onPause(); } protected void onStop(){... onStop(); } protected void onDestroy(){... super.onDestroy(); }}

重要的是要保持 超类方法调用 以免遇到意外。 必须维护超出我们活动范围的每个事件的任务。 此调用将转到输入事件的开头,然后到输出事件的结尾。 这样,我们将避免意外,因为我们需要但将不受我们控制的活动元素将在使用它们之前创建,然后将其销毁。

我们不必添加所有事件,我们不需要的将使用默认实现。 我们将经常使用的方法-不建议接触其他方法-onCreate,onPause和onRestart。

onCreate的含义很明确:在这里我们将加载所需的资源,视图以及其他所需的资源。 对于输出,我们将重点关注的唯一方法是onPause。 避免使用onStop和onDestroy的原因是我们对它们没有任何控制权。 onPause将在应用程序出现在前台时运行,而其他两个将由操作系统根据您的需要运行。 它们可能永远不会被执行! 这样做是为了避免在从活动转到桌面时重复创建活动的成本,反之亦然,并且操作系统仅在需要时释放使用的资源,并且不必提供服务所有开放的流程。

这意味着我们将假设应用程序将在执行onPause之后死亡,并且它是我们的 最后一次保存数据的机会 我们需要保存并停止使用的服务(例如地理位置)。 如果我们已停止服务,则重新启动它们的适当位置是onRestart。

其他方法我们将不需要使用太多。 我们需要的常见情况是集成第三方库(例如Facebook或Flurry)。 在这些情况下,我们将被要求将我们的活动方法与您的代码相匹配。 例如,要注册Flurry会话,我们将被要求使用onStart方法启动该会话。

一些有用的想法

  • 记住每个事件是为了什么。 您将始终需要onCreate,并且经常需要onPause和onResume来停止并重新启动最消耗服务的服务。
  • 不要碰其他事件 如果您不需要它的话。
  • 不要相信onStop和onDestroy, 他们可能永远不会被称为。 将所需的一切保存在onPause中。
  • 避免使用非最终静态变量。 返回时仍然可以加载该应用程序,它们将保留它们留下的值。 如果您别无选择只能使用它们,请务必在返回前台时重置其值。

更多信息 - Android编程基本指南


你对。。。感兴趣:
如何在Android上删除病毒
在 Google 新闻上关注我们

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:Actualidad Blog
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。