Android-Activity生命周期

Activity的基本概念,以及Activity的生命周期

一、Activity的基本概念

Activity就是你打开一个app之后,见到的充满整个窗口或者悬浮于其他窗口上的交互界面。对于Activity的配置在AndroidManifest.xml中进行配置,一个应用程序可有多个Activity,主Activity在AndroidManifest.xml中的配置如下:

 <application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name="com.lisa.helloactivity.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>

    </application>

主Activity需要在<intent-filter>节点中指定action和category子节点为黄色背景显示的内容,这样app启动后首先看到的就是这个页面。。。主Activity可以通过启动其他的Activity来跳转到其他页面,这个通过在程序中使用Intent来传递意图达到目的,一般是Intent intent = new Intent(), intent.setClass(A.this, B.class)来完成从A 的Activity跳转到B的Activity的目的。

Activity之间的切换会通过压入栈(后进先出)的操作来完成,一个新的Activtiy被切换到foreground之后,新的Activity被压入栈,位于栈顶,获取用户焦点;点击back键之后,位于栈顶的Activity被出栈,上一个Activity到达栈顶,并重新获取用户焦点。

二、Activity的生命周期

首先来一张生命周期的经典图示:

 

然后跟安卓的生命周期相关的7个方法:

1、void onCreate(Bundle savedInstanceState)

什么是Bundle savedInstanceState?Bundle是一个键值对,用来存储当前的Activity的一些状态,用于在onResume或者onRestart之后方便恢复状态使用。

2、void onStart()

3、void onResume()

4、void onPause()

5、void onStop()

6、void onRestart()

7、void onDestory()

上图包含三个关键的循环:

1、完整的生命周期:从onCreate()开始到onDestory()结束

2、可见的生命周期:从onStart()onStop()

3、前台生命周期(或者说获得焦点的生命周期):从onResume()onPause()

原文地址:https://www.cnblogs.com/keke-xiaoxiami/p/4351246.html