Activity相關備忘

一個暱稱而已T發表於2017-04-21

1、Activity官方文件


2、<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />的作用:

其中:android.intent.action.MAIN決定應用程式最先啟動的Activityandroid.intent.category.LAUNCHER決定應用程式是否顯示在程式列表裡。並且一般在一個應用中,至少需要有一個android.intent.action.MAINandroid.intent.category.LAUNCHER同時存在於同一個Activity的標籤裡。

假如我弄了兩個Activity,且在這兩個Activity分別加上了上述兩個程式碼:
這裡寫圖片描述
執行之後就會有如下效果:
這裡寫圖片描述

是因為我在兩個Activity中都設定了android.intent.action.MAIN和android.intent.category.LAUNCHER,所以在程式列表中會有兩個圖示(Test對應的),點選之後會進入相應的Activity。但是如果註釋掉Main2Activity中android.intent.action.MAINandroid.intent.category.LAUNCHER的任意一個,則不會出現上述效果了


3、AndroidMainfest.xml中的<activity>結點的屬性


4、任務和返回棧


5、Activity的執行時變更


6、有關螢幕旋轉對於Activity的影響
測試機型資訊如圖:這裡寫圖片描述

在一般情況下,螢幕旋轉會導致Activity經歷如下圖的週期(紅線以下的部分)
這裡寫圖片描述
由上圖之後,旋轉前的Activity會被銷燬,而重新建立一個新的Activity例項。

但是如果在AndroidMainfest檔案對應的<activity> 結點中設定如下屬性:

android:configChanges="orientation|screenSize"

則在螢幕旋轉時不會重新建立新的Activity例項。
這裡寫圖片描述
具體請閱讀第3點


7、onSaveInstanceState()相關

這裡寫圖片描述


8、協調 Activity

這裡寫圖片描述