Google宣布要統一Android背景任務排程的方法,從2020年11月1日起,Android應用程式需要使用統一可推延背景任務WorkManager API,而原先的GCMNetworkManager將會被棄用不再支援,且在部分裝置FirebaseJobDispatcher和GcmNetworkManager API呼叫將不再有效。

Google提到,Android行動裝置的用戶高度在意手機電池的壽命,而要讓手機省電,與應用程式排程可推延後臺任務有很大的關係。而為此,Google推出了WorkManager API,來作為統一的後臺任務調度解決方案,以滿足推延背景處理程序的需求。WorkManager API結合了Firebase Job Dispatcher(FJD)和GcmNetworkManager解決方案的功能,並向後相容至API等級14,為廣泛的各式裝置提供一致的任務排程功能。

比起FJD和GcmNetworkManager,WorkManager的功能更加強大,不需要使用Google Play服務,且讓可推延與非同步任務的調度變得簡單,即便使用者關閉應用程式或是重新啟動裝置後,這些預先排程的任務仍然可以被確實執行。

而且對於沒有立即需要執行的任務,像是傳送日誌或是分析資料到後端服務,也能提供良好的支援,Google舉例,當開發者的應用程式要將日誌檔案上傳至伺服器,這項工作沒有急迫性,可以在用戶裝置充電並且連上WI-FI再執行,則WorkManager可以確保滿足條件時執行日誌同步任務。另外,WorkManager還可用來安排一次性或是定期重複的任務,並且能夠監控與管理任務,也能將任務鏈結在一起執行。

由於WorkManager目前已經成熟,因此Google決定棄用替代的解決方案,專注於發展WorkManager的功能與穩定性。Google已經在今年4月宣布棄用FJD函式庫,並將於2020年封存,不再提供支援,另外,Google也要棄用GCMNetworkManager,Google表示,這個函式庫不會有新功能加入,並在2020年11月棄用,之後不會再提供任何的支援,而且當應用程式更新使用API等級29,在Android Marshmallow版本以上的裝置,FJD和GcmNetworkManager API呼叫將不再有效。

無論應用程式是使用FJD抑或是GCMNetworkManager,Google都提供了升級指南,幫助開發者更新應用程式,並提到,自家YouTube應用程式因為後臺排程的需要,轉而使用WorkManager,應用程式啟動時間以及崩潰率都下降了8%。

熱門新聞

Advertisement