執行背景工作是建構現代 Android 應用程式的重要環節,可確保應用程式在使用者裝置上保持回應迅速、運作效率高,並不會耗用過多資源。背景工作是指應用程式在前景中未顯示時需要執行的任何工作,例如從伺服器擷取資料或處理圖片。

瞭解背景執行作業的複雜性,是建構彈性應用程式的關鍵,確保應用程式在所有裝置上都能正常運作。

開始使用背景工作

請參閱指南,瞭解如何為您的用途選擇合適的背景工作 API,並考量 Android 的程序和應用程式生命週期。
指南
選擇合適的背景工作 API 可能很複雜。本頁面提供明確指引,說明何時該使用非同步工作、WorkManager、前景服務或替代選項。瞭解最適合特定用途的 API。
指南
瞭解 Android 程序生命週期的基本概念,以及這項概念如何影響應用程式的行為和資源管理。瞭解系統如何根據活動狀態管理應用程式程序,協助您設計彈性且有效率的應用程式,在系統啟動終止程序時妥善因應。

核心概念

執行背景工作的常見 API 和工具包括 WorkManager、前景服務、鬧鐘和廣播。每種解決方案對使用者裝置電池續航力的影響程度不一。
WorkManager 是 Android 上持續性背景工作的建議解決方案。瞭解如何使用這個強大的程式庫排定工作,讓工作在應用程式重新啟動和裝置重新開機後仍可繼續執行,並瞭解這個程式庫處理限制和彈性重試政策的主要功能。
前景服務提供強大的方式,可立即執行不應中斷的工作。瞭解何時及如何透過持續性通知聲明、啟動及停止前景服務,確保應用程式執行重要工作時不會遭到系統終止。
鬧鐘是安排時間相關工作的關鍵工具。本頁說明如何使用 AlarmManager,為必須在特定時間或指定時間範圍內執行的工作排定精確和非精確鬧鐘,即使應用程式未執行也沒問題。此外,這份文件也涵蓋管理鬧鐘的最佳做法,確保鬧鐘經過最佳化調整,可延長電池續航力。
瞭解如何傳送及接收廣播,以處理系統事件和其他應用程式的訊息。您也會瞭解內容註冊和資訊清單宣告的接收器,以及適用於這些接收器的現代系統限制。

依用途區分的背景指南

合適的解決方案會因用途而異。Android 提供許多專為特定工作設計的 API,這些 API 經過最佳化,適用於特定情境,與使用 WorkManager 和前景服務相比,通常能節省更多電量,且限制較少。

本節列出一些較常見的用途,以及建議的解決方案。

大多數用途只需要在使用者與應用程式互動時取得位置資訊。不過,如果應用程式需要在背景存取位置資訊,請使用 Fused Location Provider API。您可以運用這個 API 取得快取中的最後已知位置,或要求定期更新位置資訊。
應用程式在背景執行時,使用更新方法有效率地更新 GlanceAppWidgets。
在背景使用藍牙低功耗 (BLE) 與周邊裝置通訊。瞭解如何掃描、連線及維持與裝置的持續連線,同時遵守系統層級的限制並節省電量。
如要在行動裝置上追蹤步數,請考慮從「健康資料同步」讀取步數,這是 Android 健康與健身資料的資料儲存空間。
如果使用者啟動的背景工作涉及資料轉移 (包括下載和上傳),且需要讓使用者瞭解進度,請使用「使用者啟動的資料轉移工作」類型。這類工作專為長時間執行的資料移轉作業而設計,系統會優先處理。
在使用者看不到應用程式時,使用 Media3 程式庫支援背景播放功能。

瞭解電源最佳化

建立高品質 Android 應用程式時,請務必考量背景工作對電力的影響。瞭解系統如何管理資源,有助於建構更具韌性且省電的應用程式。最佳化電源使用可減少電池耗電量、防止系統終止應用程式,並提供更順暢的使用者體驗。
指南

系統會根據裝置狀態、應用程式狀態和應用程式的待命值區,優先處理應用程式的資源要求。

進一步瞭解如何讓應用程式在裝置的電源管理資源限制內運作,以便在背景可靠地執行工作。

指南
應用程式可能需要避免裝置 CPU 進入暫停狀態,才能完成重要工作。本指南可協助您選取最適合的裝置喚醒方法。
指南
瞭解如何調整應用程式,配合 Doze 和 App Standby 模式運作,進而提升電池效率及改善使用者體驗。瞭解這些省電模式後,您就能確保應用程式以最佳效能運作,同時盡量減少對裝置電池續航力的影響。
指南
自 Android 9 起,裝置內建的電源管理功能會影響所有應用程式。瞭解如何測試應用程式,確保應用程式在所有裝置上都能正常運作,包括使用省電模式、應用程式待機儲存區和背景限制等功能時。

最新消息