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 裝置的資料,提供應用程式點陣圖記憶體用量的指標。
Crashlytics 20.1.0
顯示生產環境的記憶體不足 (OOM) 例外狀況和記憶體限制器終止作業,並提供診斷背景資訊,協助您優先處理及修正欄位當機問題。
ProfilingManager
進階 API,可讓應用程式以程式輔助方式,從實際使用者工作階段收集及上傳正式版堆積傾印和堆積設定檔。

其他資源

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

網誌文章

影片