Android 記憶體

以下頁面提供相關資訊,說明如何改善應用程式的記憶體用量。

一般記憶體指南

記憶體總覽
說明 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,可讓應用程式以程式輔助方式,從實際使用者工作階段收集及上傳正式版堆積傾印和堆積設定檔。

其他資源

如要進一步瞭解記憶體,請參閱下列其他資源:

網誌文章

影片