重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
前言
创新互联建站是一家专业提供普陀企业网站建设,专注与成都网站设计、网站建设、外贸网站建设、H5建站、小程序制作等业务。10年已为普陀众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。WorkManager 是 Android Jetpack 中的新组件,用于负责管理后台任务。关于这个组件的介绍就不多说了,网上到处都是,这里分享一下在 WorkManager 中处理异步任务的方法。
我们知道,在 WorkManager 中,处理任务的方式是创建一个继承自 Worker 的任务类,实现 doWork() 方法,并在这个方法中实现我们自己的任务,然后返回 Result.success() 或 Result.failure() 来表示任务执行成功或者失败。在这里, doWork() 方法中的任务应该是同步的,这是很自然的,因为 doWork() 方法本身就是在子线程中执行,因此可以在 doWork() 方法中同步执行耗时操作。
但是些情况,我们想要执行的是异步任务,在 WorkManager 中,有两种比较好的处理异步任务的方案。
RxWorker
很多时候我们会使用 RxJava 来处理数据。幸运的是,我们可以使用 RxWorker 来处理异步任务。
dependencies { ... implementation "android.arch.work:work-runtime:1.0.0-beta05" implementation "android.arch.work:work-rxjava2:1.0.0-beta05" }