![](/img/trans.png)
[英]How do I return function value in lifecycle-aware coroutine scope in Android?
[英]Android Jetpack: lifecycle-aware recurrent periodic task execution with LiveData and ViewModels
我的應用程序已經使用了一些最近的 Android 模式進行網絡調用:
LiveData
類ViewModel
類的 MVVM 架構Retrofit
接口等現在我想實現一個共同的功能,即每隔幾分鍾自動從 API 獲取當前數據。
我閱讀了WorkManager
並JobScheduler
了一下 - 我實現了它,但后來我看到WorkManager
( JobScheduler
) 在關閉應用程序后繼續運行,這不是我想要的。 我也覺得WorkManager
API 對於這個簡單的任務來說太過分了。
然后我讀了一個關於 Codepath 的指南,它建議主線程重復性工作的Handler
類和后台重復性任務的ScheduledThreadPoolExecutor
。 我知道它們可能會正常工作,但我不確定它們是否是最佳解決方案。
我的問題是:目前循環 API 調用的最佳方法是:
LiveData
和ViewModel
類(可觀察到的結果,如普通 API 調用)WorkManager 用於保證即使您的應用程序退出或設備重新啟動也需要執行的工作。 根據您的描述,這似乎不是您的用例。
在這種情況下,線程池似乎是最好的選擇,但您可以從本指南開始判斷自己:“后台任務”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.