标签:android android-jetpack android-workmanager kotlinx-coroutines
我想知道为什么当有一个很好的解决方案作为WorkManager时,我应该使用rx或协同程序.但对于几乎所有的教程,他们都使用协同程序,因此WorkManager可能有缺点吗?
解决方法:
两者的范围是不同的. WorkManager将安排延迟(以后的任何时间)或立即安排.
任务异步.
As documentation says
The WorkManager API makes it easy to specify deferrable, asynchronous
tasks and when they should run. These APIs let you create a task and
hand it off to WorkManager to run immediately or at an appropriate
time.
另一方面,协同程序被设计为仅立即和异步地计算给定任务.
也
在内部,协程和WorkManager的工作方式不同.工作管理器在很大程度上依赖于Android系统组件(如服务,报警管理器等)来安排工作,而协程安排工作线程上的工作,也是一种与WorkManager(API)不同的语言功能.因此可以肯定地说协同程序不会超出您的应用范围.另一方面,当您的应用程序处于非活动状态时,WorkManager甚至可以执行给定的任务.例如,后台服务.
此外,正如Marko所回答的那样,使用协同程序将导致更好的代码可读性和质量,因为它们的基本设计.
我还想包括ANKO,它是一个很棒的库,为Android的协同程序提供了一个有用的API.
标签:android,android-jetpack,android-workmanager,kotlinx-coroutines 来源: https://codeday.me/bug/20190827/1745741.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。