一、android:excludeFromRecents="true" 是否容許在最近打開的activity列表(查看後臺運行程序)中顯示,true表示不容許,默認是false,容許android
二、android:screenOrientation="portrait" activity的顯示模式,通常用來設置activity橫屏顯示(horizontal)或豎屏顯示(portrait)canvas
三、android:configChanges="xxx|xxx"在當所指定屬性(Configuration Changes)發生改變時,通知程序調用onConfigurationChanged()函數。app
「mcc「 移動國家號碼,由三位數字組成,每一個國家都有本身獨立的MCC,能夠識別手機用戶所屬國家。好比中國460
「mnc「 移動網號,在一個國家或者地區中,用於區分手機用戶的服務商。移動00 聯通01 電信03
「locale「 所在地區發生變化。
「touchscreen「 觸摸屏已經改變。(這不該該常發生。)
「keyboard「 鍵盤模式發生變化,例如:用戶接入外部鍵盤輸入。
「keyboardHidden「 用戶打開手機硬件鍵盤
「navigation「 導航型發生了變化。(這不該該常發生。)
「orientation「 設備旋轉,橫向顯示和豎向顯示模式切換。
「fontScale「 全局字體大小縮放發生改變
函數
對android:configChanges屬性,通常認爲有如下幾點:
一、不設置Activity的android:configChanges時,切屏會從新調用各個生命週期,切橫屏時會執行一次,切豎屏時會執行兩次字體
二、設置Activity的android:configChanges="orientation"時,切屏仍是會從新調用各個生命週期,切橫、豎屏時只會執行一次設計
三、設置Activity的android:configChanges="orientation|keyboardHidden"時,切屏不會從新調用各個生命週期,只會執行onConfigurationChanged方法
可是,自從Android 3.2(API 13),在設置Activity的android:configChanges="orientation|keyboardHidden"後,仍是同樣會從新調用各個生命週期的。由於screen size也開始跟着設備的橫豎切換而改變。因此,在AndroidManifest.xml裏設置的MiniSdkVersion和 TargetSdkVersion屬性大於等於13的狀況下,若是你想阻止程序在運行時從新加載Activity,除了設置"orientation",你還必須設置"ScreenSize"。
解決方法:
AndroidManifest.xml中設置android:configChanges="orientation|screenSize「
四、android:hardwareAccelerated="true"xml
從Android3.0 (API level11)開始,Android的2D顯示管道被被設計得更加支持硬加速了.硬加速使用GPU承擔了全部在View的canvas上執行的繪製操做.生命週期
控制硬加速get
你能夠在如下級別上分別控制硬加速:Application Activity Window Viewit
Application :<applicationandroid:hardwareAccelerated="true" ...>
Activity:<activity android:hardwareAccelerated="false" />
Window:若是你須要更高顆粒度的控制,你可使用如下代碼爲一個window啓用硬加速:getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
View:你能夠在運行時使用如下代碼禁止個別的View的硬加速:myView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);