AndroidTraining学习------Managing-the-Activity-Lifecycle-

来源:互联网 发布:出奇制胜软件 编辑:程序博客网 时间:2024/06/05 22:41

Starting an Activity

  • Resumed
    activity处于前台,并且用户可以与之交互。
  • Paused
    activity部分被其他activity掩盖,Paused activity无法接收用户输入和执行任何代码。
  • Stopped
    activity完全被隐藏,对于用户是不可见的,它是处于后台的。当停止时,activity实例和它所有的状态信息比如成员变量都是保持不变的,但是他不能执行任何代码。

Specify Your App‘s Lanucher Activity

  • 如何指定activity作为main activity?
    你可以在Android manifest file中指定activity作为main activity,AndroidManifes.xml,她在你工程目录的根目录中。
    可以在manifest file中使用包含MAIN action和LAUNCHER category的标签来完成指定main activity。比如:
<activity android:name=".MainActivity" android:label="@string/app_name">    <intent-filter>        <action android:name="android.intent.action.MAIN" />        <category android:name="android.intent.category.LAUNCHER" />    </intent-filter></activity>

Create a New Instance

  • 我们应该在onCreate()中进行什么操作?
    我们必须在onCreate()方法中进行一些最基本的初始化操作,比如定义用户界面,定义成员变量,以及配置一些U元素。
    且onCreate()方法在整个生命周期中只运行一次。

Destroy the Activity

  • 我们应该在onDestroy()方法中进行什么操作?
    我们需要在onDestroy()方法中杀死在onCreate()中开启的后台线程以及一些长时间运行的资源。

Pausing and Resuming an Activity

Pause Your Activity

  • 我们在onPause()中应该进行什么操作?
    • 检验activity是否可见;
    • 提交未保存的修改,但是应该是用户希望得到永久保存的数据;
    • 释放系统资源;

Resume Your Activity

  • 在onResume()方法中应该进行什么操作?
    我们在此方法中应该重新初始化那些我们在onPause()中释放的组件。

Recreating an Activity

在activity被destroy后,可以通过Bundle对象进行恢复activity;
我们的activity会在每次旋转屏幕的时候被destroyed和recreated,这是因为activity需要重新加载替代的资源(比如布局资源)。
image.png
说明:当系统停止你的activity时,会调用onSaveInstanceState()方法保存你想要保存的额外数据。如果你的activity被销毁并重新创建,那么系统将会把这些状态数据传递给onCreate()和onRestoreInstanceState()方法。

0 0
原创粉丝点击