Android 開發者選項
前面的小節我們介紹了應用構建相關的知識,從本小結我們學習應用調試相關的知識,首先我們要學習下開發者選項。
1. 什么是開發者選項
Android 上的“設置”應用包含一個名為開發者選項的界面,我們可以使用該屏幕配置一些系統行為來幫助我們分析和調試應用性能。例如,我們可以啟用 USB 調試、捕獲錯誤報告、啟用點按的視覺反饋、在窗口 surface 更新時刷寫 surface、使用 GPU 渲染 2D 圖形,等等。
Tips:開發者選項列表可能會因 Android 版本而異
1.1 啟用開發者選項和 USB 調試
在 Android 4.1 及更低版本上,開發者選項界面在默認情況下處于啟用狀態。在 Android 4.2 及更高版本上,我們必須啟用此屏幕。要啟用開發者選項,請點按版本號選項 7 次。我們可以在以下位置之一找到此選項,具體取決于我們的 Android 版本:
-
Android 9(API 級別 28)及更高版本:設置 > 關于手機 > 版本號。
-
Android 8.0.0(API 級別 26)和 Android 8.1.0(API 級別 26):設置 > 系統 > 關于手機 > 版本號。
-
Android 7.1(API 級別 25)及更低版本:設置 > 關于手機 > 版本號。
在開發者選項屏幕頂部,我們可以開啟或關閉這些選項。調試應用時此設置需要處于開啟狀態。關閉后,除了那些不需要在設備與開發計算機之間通信的選項外,大部分選項都會被停用。
我們需要先啟用 USB 調試,以便 Android Studio 和其他 SDK 工具能夠在設備通過 USB 連接時識別設備,然后才能使用調試程序和其他工具。要啟用 USB 調試,請在開發者選項菜單中開啟 USB 調試選項。我們可以在以下位置之一找到此選項,具體取決于我們的 Android 版本:
-
Android 9(API 級別 28)及更高版本:設置 > 系統 > 高級 > 開發者選項 > USB 調試。
-
Android 8.0.0(API 級別 26)和 Android 8.1.0(API 級別 26):設置 > 系統 > 開發者選項 > USB 調試。
-
Android 7.1(API 級別 25)及更低版本:設置 > 開發者選項 > USB 調試。
2. 常用選項
開發者選項中包含很多有助于應用調試的選項,下面我們學習日常開發中最常用的一些。
2.1 調試
調試選項提供了配置設備端調試以及在設備與開發計算機之間建立通信的方式。
我們可以啟用 USB 調試,以便 Android 設備可以通過 Android 調試橋 (adb) 與開發機器通信。等待調試程序選項僅在我們使用選擇調試應用選擇要調試的應用后才可用。如果我們啟用等待調試程序,選定的應用會先等待調試程序連接后才會執行操作。
其他調試選項包括:
-
在設備上永久存儲日志記錄器數據:選擇要在設備上永久存儲的日志消息類型。選項包括“關閉”、“全部”、“所有非無線電”和“僅限內核”。
-
選擇模擬位置信息應用:使用此選項可以模擬設備的 GPS 位置,以測試我們的應用在其他位置時行為是否相同。要使用此選項,請下載并安裝 GPS 模擬位置應用。
-
啟用視圖屬性檢查功能:將視圖屬性信息保存在 View 實例的 mAttributes 成員變量中,以便將這些信息用于調試。我們可以通過 Layout Inspector 界面訪問屬性信息(如果不啟用此選項,“屬性”項將不可用)。
-
啟用 GPU 調試層:在運行 Android 9(API 級別 28)及更高版本的設備上可用,啟用此選項可允許從本地設備存儲加載 Vulkan 驗證層。
2.2 網絡
網絡選項提供了配置 WLAN 和 DHCP 設置的方式。
點按選擇 USB 配置可以指定我們希望計算機如何識別設備。 如圖 5 所示,我們可以將設備配置為僅限充電、傳輸文件 (MTP)、傳輸照片 (PTP)、在 PC 上使用我們的移動互聯網 (RNDIS),或者傳輸音頻或 MIDI 文件。
點按藍牙 AVRCP 版本,然后選擇要用來控制我們的設備有權訪問的所有藍牙 A/V 設備的配置文件版本。 此外,要微調設備上的音頻播放功能,請點按并設置以下選項:
-
藍牙音頻編解碼器:選擇某個編解碼器來調整設備的音質。
-
藍牙音頻采樣范圍:通過選擇音頻編解碼器采樣率來調整每秒音頻樣本數量。采樣率越高,使用的資源越多。
-
藍牙音頻每樣本位數:設置每個音頻樣本中信息的位數。比特率越高,音質越好,但樣本文件越大。
-
藍牙音頻聲道模式:選擇單聲道或立體聲。
-
藍牙音頻 LDAC 編解碼器:優化聲音以提高音質,平衡音頻和連接質量,提高連接質量,或者使用自適應比特率平衡音頻和連接質量。
以下列表介紹了配置 WLAN 和 DHCP 設置的其他方式:
-
無線顯示認證:啟用高級配置控件和設置,按照“WLAN 聯盟 WLAN 顯示規范”中明確規定的規范進行無線顯示認證。此認證適用于 Android 4.4(API 級別 19)及更高版本。
-
啟用 WLAN 詳細日志記錄功能:根據我們連接到的每個無線網絡 (SSID) 的相對接收信號強度 (RSSI) 提高其 WLAN 日志記錄水平。
-
主動從 WLAN 網絡切換到移動數據網絡:當信號較弱時,讓 WLAN 更高效地將數據連接移交給移動數據網絡。
2.3 輸入
啟用顯示點按操作反饋可以在我們輕觸屏幕時顯示點按操作反饋。手指或觸控筆下會出現一個圓圈,這個圓圈會跟著我們在屏幕上移動。當我們在設備上錄制視頻時,點按的作用就像指針一樣。
啟用指針位置可以用十字準線在設備上顯示指針(點按)位置。 屏幕頂部會顯示一個條形,用于跟蹤十字準線坐標。在我們移動指針時,該條形中的坐標會跟蹤十字準線位置,且屏幕上會繪制出指針路徑。
2.4 繪制
繪制選項提供了有關應用界面及其操作方式的視覺提示。
啟用顯示布局邊界可以顯示應用的裁剪邊界、外邊距和設備上的其他界面結構。
其他繪制選項包括:
-
強制使用從右到左的布局方向:強制屏幕布局方向為從右到左 (RTL) 或從左到右(默認設置)。
-
窗口動畫縮放:設置窗口動畫播放速度,以便我們查看不同速度下的性能??s放越小,速度越快。
-
過渡動畫縮放:設置過渡動畫播放速度,以便我們查看不同速度下的性能??s放越小,速度越快。
-
模擬輔助顯示屏:以疊加層的形式在設備上創建輔助屏幕。 這在使用 Presentation API 支持其他屏幕時非常有用。
2.5 硬件加速渲染
借助硬件加速渲染選項,我們可以利用基于硬件的選項(如 GPU、硬件層和多重采樣抗鋸齒 (MSAA))針對目標硬件平臺優化應用。
點按模擬顏色空間可以更改整個設備界面的配色方案。此設置下面的選項是指色盲類型。包括“已停用”(無模擬配色方案)、“全色盲”(黑色、白色和灰色)、“綠色弱視”(紅綠不分)、“紅色弱視”(紅綠不分)和“藍色弱視”(藍黃不分)。 其中“紅色弱視”是指紅綠色盲,紅色弱視;“綠色弱視”是指紅綠色盲,綠色弱視。
利用基于硬件的選項的一些其他方式包括:
-
設置 GPU 渲染程序:將默認的 Open GL 圖形引擎更改為 Open GL Skia 圖形引擎。
-
強制進行 GPU 渲染:如果應用編寫時在默認情況下不進行 GPU 渲染,強制應用使用 GPU 繪制 2D 圖形。
-
顯示 GPU 視圖更新:顯示使用 GPU 繪制的任何屏幕上的元素。
-
調試 GPU 過度繪制:顯示設備上的顏色編碼,以便我們可視化相同像素在同一幀中繪制的次數??梢暬瘯@示我們的應用可能在哪里進行了不必要的渲染。
-
調試非矩形剪裁操作:關閉畫布上的剪裁區域,創建非常規(非矩形)畫布區域。通常,剪裁區域不允許在圓形剪裁區域的邊界之外繪制任何圖形。
-
強制啟用 4x MSAA:在 Open GL ES 2.0 應用中啟用多重采樣抗鋸齒 (MSAA)。
-
停用 HW 疊加層:通過使用硬件疊加層,在屏幕上顯示內容的每個應用將消耗更少的處理資源。如果不使用疊加層,應用會共享視頻內存且必須不斷地檢查沖突和剪裁區域才能渲染合適的圖像。檢查工作會消耗大量的處理資源。
2.6 媒體
啟用關閉 USB 音頻轉接可以停用自動路由到通過 USB 端口連接到計算機的外部音頻設備。 自動路由可能會干擾 USB 感知應用。
2.7 監控
監控選項提供了有關應用性能(如長時間的線程和 GPU 操作)的視覺信息。
依次點按 GPU 渲染模式分析和在屏幕上顯示為豎條,以豎條形式顯示 GPU 渲染模式分析。
2.8 應用
應用選項可以幫助我們了解應用在目標設備上的運行方式。
點按后臺進程限制可以設置后臺一次能夠運行的進程數量。
在測試過程中點按重置 ShortcutManager 速率限制,使后臺應用可以繼續調用快捷鍵 API,直到再次達到速率限制。
啟用不保留 Activity 可以在用戶離開 Activity 的主視圖后立即銷毀該 Activity,從而延長電池續航時間。
3. 小結
本節課程我們主要學習了開發者選項。本節課程的重點如下:
- 掌握如何啟用開發者選項和 USB 調試;
- 掌握開發者選項中常用選項的含義。