提供優質的使用者體驗是 Android 的核心使命,而要實現這項承諾,就必須確保裝置快速、靈敏且穩定可靠。因此,記憶體最佳化比以往更加重要。在整個生態系統中,為因應記憶體價格上漲,新裝置的實體記憶體容量維持不變,甚至有所減少,但使用者仍期望享有同樣流暢的高效能應用程式體驗。
在 Android 17 中,我們導入了應用程式專屬的記憶體限制 (首先在 Pixel 裝置上推出),防止應用程式使用過多記憶體,導致系統整體效能變慢,進而影響使用者體驗。在接下來的一年內,越來越多製造商將在裝置組合中,針對 4 GB 到 16 GB 以上的裝置 RAM 設定,採用 Android 應用程式記憶體限制。 如果應用程式超出這些限制,就會變慢,甚至可能遭到終止。為避免作業系統節流並維持流暢的使用者體驗,請務必最佳化應用程式的記憶體用量。
本文將探討這些限制的運作方式、如何使用新的 Android Vitals 指標測量記憶體用量,以及如何採取實際行動來改善應用程式或遊戲。
瞭解記憶體限制
如果應用程式超出記憶體預算,Android 會採取漸進式行動,確保裝置回應速度不受影響:
- zRAM 交換:如果應用程式達到分配的限制,系統會強制將應用程式的頁面移至 zRAM (壓縮 RAM)。雖然 zRAM 可避免立即清除,但壓縮及解壓縮頁面會增加 CPU 負荷,導致 UI 卡頓明顯,體驗變慢。
- 程序終止:如果應用程式持續增加記憶體用量,超過 zRAM 門檻,系統就會終止應用程式。如要判斷應用程式工作階段是否在實際環境中受到這些限制影響,您可以在
ApplicationExitInfo內呼叫getDescription()。如果系統套用限制,則結束原因會回報為REASON_OTHER,且說明字串會包含「MemoryLimiter:AnonSwap」。您也可以使用TRIGGER_TYPE_ANOMALY進行觸發式剖析,在達到記憶體上限時自動擷取堆積傾印。
如要進一步瞭解每個應用程式的記憶體限制和系統強制執行機制,請參閱 Android 17 應用程式記憶體限制說明文件。如要在不同裝置設定上測試應用程式,請使用 Memory Limiter adb 指令。
監控及診斷記憶體問題
無法評估就無法改善。如要找出 Android 生態系統中的記憶體流失、過度堆積分配,以及記憶體不足 (OOM) 異常終止情形,請善用互補的監控工具:
- 透過 Android Vitals 掌握巨觀層級的健康狀態:如要掌握整體使用者群的狀況,但不想增加額外負擔,Google Play 管理中心的 Android Vitals 可提供「記憶體用量 (匿名 RSS + 交換空間)」和「點陣圖記憶體用量」等重要指標。這項功能會清楚顯示不同程序狀態 (前景、背景、使用者感知服務和已快取) 和 RAM 類別範圍的記憶體分配情況,協助您找出記憶體離群值。
- 透過 Firebase Crashlytics 追蹤記憶體限制器終止和 OOM 情況:為在嚴重記憶體效能降低影響主要指標前掌握相關資訊,Crashlytics 20.1.0 版推出額外的偵錯資料,協助您掌握、優先處理及修正記憶體不足例外狀況和記憶體限制器終止情況。追蹤這些事件,並搭配自訂記錄和鍵/值中繼資料,即可在發生記憶體故障時立即瞭解程序狀態。
- 使用 ProfilingManager 進行現場追蹤記錄:對於能夠維護效能觀測能力框架的團隊,Android 15 (API 級別 35) 中導入的
ProfilingManagerAPI 可讓應用程式以程式輔助方式,直接從正式版裝置要求及收集詳細的記憶體偵錯構件,例如 Java 記憶體快照資料和堆積快照。您也可以根據特定系統信號 (例如TRIGGER_TYPE_OOM和TRIGGER_TYPE_ANOMALY) 觸發記憶體快照資料擷取作業。
如要進一步瞭解其他記憶體監控技術,請參閱說明文件。
摘要與後續步驟
Android 擴大了所有 RAM 類別的單一應用程式記憶體限制,現在正是稽核記憶體用量的時機:
- 優先進行記憶體最佳化:使用最佳做法,避免應用程式受到記憶體限制影響。
- 監控記憶體用量:監控應用程式的記憶體行為,偵測並解決異常行為。
- 最佳化遊戲:遵循遊戲和複雜多媒體應用程式的最新指南,盡可能節省各程序狀態的記憶體。
實用資源與參考資料
- Android 17 行為變更:應用程式記憶體限制
- Android Vitals:記憶體用量 (RSS + 交換空間指標) 和點陣圖記憶體用量
- Android 開發人員網誌:優先處理 Android 17 的記憶體效率步驟
- 開發人員指南:管理應用程式的記憶體
-
產品最新消息今天我們將發布 Android 17,並在大多數支援的 Pixel 裝置上推出。搭載 Android 17 的新裝置將於未來幾個月內推出。
Matthew McCullough • 13 分鐘小故事 -
產品最新消息在 2026 年 Google I/O 大會上,我們展示了 Android 生態系統的最新進展,說明如何協助您提升應用程式品質,同時盡可能提高開發效率。
Ataul Munim • 3 分鐘小故事 -
產品最新消息我們共同致力於贏得使用者信任,這是 Android 生態系統的基石。隨著行動裝置的發展,我們保護私密資訊的方式也與時俱進。
Robert Clifford • 3 分鐘小故事
每週透過電子郵件接收最新的 Android 開發洞察資訊。