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()