我的应用程序已经使用一些最新的Android模式进行网络通话:
LiveData
类ViewModel
类的MVVM体系结构Retrofit
界面等。现在,我要实现一项常见功能,即每隔几分钟自动从API中自动获取当前数据。
我了解了WorkManager
并试了一下-我实现了它,但随后我发现WorkManager
(JobScheduler
)在关闭我不想要的应用程序后仍然可以运行。我还觉得WorkManager
API对于这个简单的任务来说太过分了。
然后,我在Codepath上读了一个guide,其中建议Handler
类用于主线程重复性作业,而ScheduledThreadPoolExecutor
建议用于后台重复性任务。我知道它们可能会正常工作,但是我不确定它们是否是最佳解决方案。
我的问题是:当前循环API调用的最佳方法是什么?
LiveData
和ViewModel
类(可观察到的结果,如正常的API调用)答案 0 :(得分:0)
WorkManager用于保证需要执行的工作,即使您退出应用或重新启动设备也是如此。从您的描述来看,这似乎不是您的用例。
在这种情况下,线程池似乎是最好的选择,但是您可以从本指南“ Background Tasks”开始判断自己。