以下頁面提供相關資訊,說明如何改善應用程式的記憶體用量。
一般記憶體指南
- 記憶體總覽
- 說明 Android 核心記憶體架構、RAM 限制,以及作業系統如何使用記憶體不足終止工具 (LMK) 平衡程序。
- 記憶體管理
- 說明開發人員在元件生命週期中發布資源、避免洩漏,以及在程序狀態之間轉換時管理記憶體的最佳做法。
- 瞭解及排解 Android 記憶體問題
- 全面介紹 Android 記憶體架構、可用的分析工具,以及實用練習,協助您找出並解決記憶體相關問題。
- 設定應用程式記憶體預算
- 說明如何宣告及管理應用程式記憶體預算,將記憶體用量縮減至應用程式的有效工作集。
特定區域的最佳化
- 遊戲記憶體總覽
- 詳細說明記憶體預算、原生分配處理方式,以及專為使用遊戲引擎的應用程式量身打造的圖像資產管理指南。
- 最佳化點陣圖圖片
- 示範如何在圖片程式庫中,有效率地調整點陣圖素材資源的大小、解碼及快取。
- 管理及診斷 WebView 記憶體
- 說明 WebView 多程序記憶體模型,描述如何正確管理其生命週期以防止洩漏,並提供實用的工作流程來診斷記憶體問題。
- R8 程式碼最佳化
- 說明如何使用 R8 縮減 APK 大小、中繼資料負荷和執行階段記憶體用量。
本機記憶體偵錯工具
- Android Studio 工具
- 直接在 IDE 中提供即時堆積檢查、記憶體配置追蹤和洩漏偵測工作流程。
- Perfetto 堆積傾印探索工具
- 可深入分析原生和 Java/Kotlin 堆積傾印,找出保留的物件樹狀結構和匿名記憶體配置。
- 在裝置上擷取系統追蹤記錄
- 說明如何錄製裝置端系統層級的追蹤記錄,以解決應用程式的效能相關錯誤。
- 在 Android 上偵錯記憶體用量
- 說明如何瞭解 Linux 記憶體管理,以及如何使用
dumpsys meminfo、Perfetto、原生堆積設定檔和堆積傾印等工具追蹤記憶體用量,並找出記憶體洩漏問題。
正式版等級的記憶體工具
- Android Vitals:記憶體用量 (匿名 RSS + 交換空間)
- Android Vitals 會提供應用程式的正式版記憶體用量,並依程序狀態 (前景、前景服務和背景服務) 細分。
- Android Vitals:點陣圖記憶體用量
- Android Vitals 會匯總 Android 裝置的資料,提供應用程式點陣圖記憶體用量的指標。
- Android Vitals:DEX 程式碼最佳化
- 如果應用程式的 DEX 程式碼最佳化程度偏低,Android Vitals 會發出提醒。包括使用 R8 的應用程式和遊戲的模糊處理、縮減和最佳化。
- Crashlytics 20.1.0
- 顯示生產環境的記憶體不足 (OOM) 例外狀況和記憶體限制器終止作業,並提供診斷情境,方便您優先修正欄位當機問題。
- ProfilingManager
- 進階 API,可讓應用程式以程式輔助方式,從實際使用者工作階段收集及上傳正式版堆積傾印和堆積設定檔。
其他資源
如要進一步瞭解記憶體,請參閱下列其他資源: