分析 Android 應用程式

將您的應用程式部署至 App store 之前,必須先找出並修正任何效能瓶頸、過多的記憶體使用量問題,或網路資源使用效率不佳等問題。 兩個分析工具可用於此用途:

  • Xamarin Profiler
  • Android Studio 中的 Android Profiler

本指南介紹 Xamarin Profiler,並提供開始使用 Android Profiler 的詳細資訊。

Xamarin Profiler

Xamarin Profiler 是獨立的應用程式,與 Visual Studio 和 Visual Studio for Mac 整合以從 IDE 中分析 Xamarin 應用程式。 如需使用 Xamarin Profiler 的詳細資訊,請參閱 Xamarin Profiler

注意

您必須是 Visual Studio Enterprise 的訂閱者才能解除鎖定 Visual Studio Enterprise on Windows 或 Visual Studio for Mac 中的 Xamarin Profiler 功能。

Android Studio Profiler

Android Studio 3.0 和更新版本包含 Android Profiler 工具。 您可以使用 Android Profiler 來測量以 Visual Studio 建置的 Xamarin Android 應用程式效能,而不需要 Visual Studio Enterprise 授權。 不過,與 Xamarin Profiler 不同之處在於 Android Profiler 未與 Visual Studio 整合,而且只能用來分析事先建置且已匯入 Android Profiler 的 Android 應用程式套件 (APK)。

在 Android Profiler 中啓動 Xamarin Android 應用程式

下列步驟說明如何在 Android Studio 的 Android Profiler 工具中啟動 Xamarin Android 應用程式。 在下面的範例螢幕擷取畫面中,Xamarin Forms XamagonXuzzle 應用程式已建立,且使用 Android Profiler 分析:

  1. 在 Android 專案建置選項中,停用 [使用共用執行階段]。 這可確保在不依賴共用的開發階段 Mono 執行階段的情況下,建置 Android 應用程式套件 (APK)。

    Disabling Use Shared Runtime

  2. 建置偵錯應用程式並將它部署到實體裝置或模擬器。 這會導致建置 APK 的已簽署偵錯版本。 在 XamagonXuzzle 的範例中,產生的 APK 名為 com.companyname.XamagonXuzzle Signed.apk

  3. 開啟專案資料夾並巡覽至 bin/Debug。 在這個資料夾中,找到應用程式的 Signed.apk 版本,並將它複製到方便存取的位置 (例如桌面)。 在下列螢幕擷取畫面中,找到 APK com.companyname.XamagonXuzzle Signed.apk 並複製到桌面:

    Location of the debug signed APK file

  4. 啓動 Android Studio 並選取設定檔或偵錯 APK

    Starting the profiler from the Android Studio launch screen

  5. 在 [選取 APK 檔案]] 對話方塊中,巡覽至您之前建立並複製的 APK。 選取 APK 然後按一下 [確定]

    Selecting the APK in the Select APK File dialog

  6. Android Studio 會載入 APK 並反組譯 classes.dex

    Setting up the APK

  7. 載入 APK 後,Android Studio 會顯示以下 APK 專案畫面。 以滑鼠右鍵按一下左側樹狀檢視中的應用程式名稱,然後選取 [Open Module Settings] \(開啟模組設定\)

    Location of Open Module Settings menu item

  8. 流覽至 [專案 設定 > 模組],選取應用程式的 -Signed 節點,然後按兩下 [<無 SDK>]:

    Navigating to the SDK setting

  9. 在 [Module SDK] \(模組 SDK\) 下拉式功能表中,選取用來建置應用程式的 Android SDK 層級 (本範例使用 API 層級 26 建置 XamagonXuzzle):

    Setting the Project SDK level

    按一下 [套用] 和 [確定] 儲存這個設定。

  10. 從工具列圖示啟動分析工具:

    Location of the profiler toolbar icon

  11. 選取執行/分析應用程式的部署目標,然後按一下 [確定]。 部署目標可以是在模擬器中執行的實體裝置或虛擬裝置。 本範例中使用 Nexus 5X 裝置:

    Selecting the deployment target

  12. 分析工具啟動後,會花數秒鐘連接到部署裝置和應用程式處理序。 在安裝 APK 時,Android Profiler 會報告無連接的裝置無可偵錯的處理序

    The profiler installs the APK

  13. 幾秒之後,Android Profiler 會完成 APK 安裝並啟動 APK,報告裝置名稱以及正在分析的應用程式處理序名稱 (在本範例中分別是 LGE Nexus 5Xcom.companyname.XamagonXuzzle):

    Profiler window after start

  14. 找到裝置和可偵錯的處理程序之後,Android Profiler 就會開始分析應用程式:

    Profiler displays for the running app

  15. 如果您點選 XamagonXuzzle 上的 [RANDOMIZE] 按鈕 (這會造成它移位並隨機化磚),就會看到 CPU 使用量在應用程式隨機間隔期間增加:

    CPU usage when RANDOMIZE button is tapped

使用 Android Profiler

使用 Android Profiler 的詳細資訊包含在 Android Studio 文件中。 下列為 Xamarin Android 開發人員感興趣的主題:

  • CPU Profiler – 說明如何即時檢查應用程式的CPU使用量和線程活動。

  • 記憶體分析工具 – 顯示應用程式記憶體使用量的即時圖表,並包含用來記錄記憶體配置以供分析的按鈕。

  • 網路分析工具 – 顯示應用程式所傳送和接收資料的即時網路活動。