📲Digital Trends•最新收集於 14m
Android 17 將限制失控應用程式

💡Android 17 可能改變行動 AI 應用程式在背景執行大型高記憶體工作時的可靠性。
⚡ 30-Second TL;DR
有什麼變化
Android 17 將對每個應用程式執行更嚴格的記憶體限制。
為什麼重要
執行本機模型、嵌入流程或大型媒體工作的 AI 應用程式,可能面臨更積極的資源控管。開發者需要妥善處理應用程式被終止的情況,不能假設高記憶體背景工作能無限期持續。
下一步行動
對 Android AI 應用程式執行記憶體壓力測試,並持久化模型狀態,讓推論工作在程序遭終止後可以恢復。
誰應關注:Developers & AI Engineers
關鍵要點
- •Android 17 將對每個應用程式執行更嚴格的記憶體限制。
- •失控的應用程式可能被降速或終止。
- •系統將優先維持整部手機的回應速度。
🧠 深度解析
背景與延伸:來自公開資料,非原文內容。引用 13 個來源。
🔑 增強重點摘要
- •Android 17 的記憶體限制將根據裝置的總 RAM 容量設定,以確保應用程式在不同硬體上有一致的效能表現。
- •應用程式若超出這些記憶體限制,可能會導致崩潰,在某些情況下,系統會終止該程序且不提供相關的堆疊追蹤資訊。
- •Android 17 中引入的「記憶體限制器」(Memory Limiter) 服務,利用 Linux cgroup v2 來監控和限制應用程式的記憶體使用。
- •當應用程式接近其
memory.high軟性限制時,Linux 核心會主動從該程序回收頁面,包括丟棄非活動的文件支援頁面並將不活躍的匿名頁面交換到 ZRAM。 - •為符合新的記憶體效率標準,開發者應採用 R8 位元組碼優化器、高效的影像載入技術,並在應用程式隱藏時修剪記憶體,同時利用 ProfilingManager API 進行進階偵錯。
📊 競品分析▸ Show
| 功能/面向 | Android 17 記憶體管理 | iOS 記憶體管理 |
|---|---|---|
| 核心機制 | 引入嚴格的單一應用程式記憶體限制,基於裝置總 RAM,使用 Linux cgroup v2 監控與限制。 | 系統級生命週期管理,對背景執行有更嚴格的限制,以提高能源可預測性。 |
| 失控應用程式處理 | 超出限制的應用程式可能被降速、節流或終止,有時不提供堆疊追蹤。 | 應用程式在「最近使用」介面通常處於暫停狀態且無害,系統在記憶體壓力下會自動回收資源。 |
| 使用者介面優先級 | 傳統上背景程序優先級較高,但新版本旨在維持整體系統回應速度。 | 優先處理使用者介面,提供即時優先級渲染。 |
| 背景活動限制 | 透過應用程式休眠 (App Hibernation) 暫停背景服務、警報和推播通知,保留資料和狀態。 | 應用程式卸載 (App Offloading) 移除應用程式二進位檔但保留文件和設定,不影響背景行為。 |
| RAM 需求 | 歷史上對 RAM 需求較高,但透過持續優化和新限制來改善。 | 通常對 RAM 需求較低,得益於硬體優化和共享硬體平台。 |
🛠️ 技術深入
- Android 17 的「記憶體限制器」(Memory Limiter) 是一個系統服務,用於監控和限制應用程式程序的記憶體使用,它利用 Linux 核心的 cgroup v2 功能。
- 該服務與 Activity Manager Service (AMS) 整合,以追蹤程序生命週期事件和狀態變化。
- 裝置核心必須啟用 cgroup v2 和記憶體控制器以支援記憶體限制器。
- 記憶體限制器主要依賴兩個 cgroup v2 屬性:
memory.high(軟性限制,超出時會觸發程序節流和主動頁面回收) 和memory.swap.max(限制程序可使用的交換空間,如 ZRAM 的最大量)。 - Android 歷史上使用 cgroups 透過 Low Memory Killer (LMK) 守護程式監控系統記憶體使用,並對程序進行分組以實現有效的 CPU 共享。
- Android 10 及更高版本使用帶有任務配置檔的 cgroups,這些配置檔在
cgroups.json和task_profiles.json中定義,並透過SetTaskProfiles和SetProcessProfilesAPI (Android 11+) 應用於程序或執行緒。 - Android Runtime (ART) 負責應用程式級別的記憶體管理和垃圾回收。
- ART 在 Android 12 中被整合到 Project Mainline 中,允許 Google 透過 Google Play 更新 ART 組件,從而提高執行時效能和記憶體管理效率。
- Android 的記憶體堆是分代的,根據物件的預期生命週期和大小,將分配分為不同的桶,當某一代填滿時會觸發垃圾回收事件。
🔮 前景展望AI analysis grounded in cited sources
開發者將需要採用更嚴格的記憶體優化實踐。
更嚴格的記憶體限制和潛在的應用程式終止,要求開發者必須主動進行記憶體管理,以確保應用程式的穩定性和使用者體驗。
Android 使用者的裝置效能和電池續航力將普遍提升。
透過防止單一「失控」應用程式獨佔資源,系統可以維持整體回應速度並減少不必要的功耗。
Android 和 iOS 之間在感知記憶體效率方面的差距可能會縮小。
Android 更積極的系統級記憶體強制執行與 iOS 歷史上更嚴格的控制相符,可能導致跨平台的使用者體驗更加一致。
⏳ 時間線
2017-08
Android 8.0 (Oreo) 引入背景執行限制
2019-09
Android 10 推出 Project Mainline
2021-02
Android 12 將 Android Runtime (ART) 整合到 Project Mainline
2024-01
Android 背景執行限制(如 App Standby Buckets 和 Doze Mode)持續演進
2025-09
Google 開始將預設記憶體頁面大小從 4 KB 轉移到 16 KB
2026-06
Android 17 正式宣布引入基於裝置 RAM 的應用程式記憶體限制
📎 來源 (13)
Factual claims are grounded in the sources below. Forward-looking analysis is AI-generated interpretation.
📰
AI 週報
閱讀本週精選 AI 大事摘要 →
👉相關動態
AI 策展新聞聚合。所有內容版權歸原始發布者所有。
原始來源: Digital Trends ↗
每週 AI 簡報
每週一封,可隨時退訂。