📲最新收集於 14m

Android 17 將限制失控應用程式

Android 17 將限制失控應用程式
PostLinkedIn
📲閱讀原文: Digital Trends

💡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.jsontask_profiles.json 中定義,並透過 SetTaskProfilesSetProcessProfiles API (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.

  1. android.com
  2. android.com
  3. googleblog.com
  4. android.com
  5. youtube.com
  6. medium.com
  7. scribd.com
  8. alibaba.com
  9. slideshare.net
  10. android.com
  11. medium.com
  12. androidauthority.com
  13. android.com
📰

AI 週報

閱讀本週精選 AI 大事摘要 →

👉相關動態

AI 策展新聞聚合。所有內容版權歸原始發布者所有。
原始來源: Digital Trends

這是摘要,不是原文。去看原站,或訂閱每週簡報。

每週 AI 簡報

每週一封,可隨時退訂。