Android Jetpack架构组件之WorkManger

本文详细介绍了Android Jetpack中的WorkManager组件,包括其背景、基础知识、任务约束、高级用法如链式任务、任务取消和特定工作方式等。WorkManager是管理后台任务的工具,确保任务即使在应用退出后仍能执行。文章通过实例展示了如何创建和管理WorkRequest,以及如何处理任务的依赖和约束,帮助开发者更好地理解和运用WorkManager。
摘要由CSDN通过智能技术生成

1、前言

最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发中的问题,对代码的逻辑和UI界面实现深层解耦,打造数据驱动型UI界面。

Android Architecture组件是Android Jetpack的一部分,它们是一组库,旨在帮助开发者设计健壮、可测试和可维护的应用程序,包含一下组件:

上述时Android Architecture所提供的架构组件,本文将详细介绍下WorkManger的使用

2、WorkManger简介

WorkManger是Android Jetpack提供执行后台任务管理的组件,它适用于需要保证系统即使应用程序退出也会运行的任务,WorkManager API可以轻松指定可延迟的异步任务以及何时运行它们,这些API允许您创建任务并将其交给WorkManager立即运行或在适当的时间运行。

WorkManager根据设备API级别和应用程序状态等因素选择适当的方式来运行任务。如果WorkManager在应用程序运行时执行您的任务之一,WorkManager可以在您应用程序进程的新线程中运行您的任务。如果您的应用程序未运行,WorkManager会选择一种合适的方式来安排后台任务 - 具体取决于设备API级别和包含的依赖项,WorkManager可能会使用 JobScheduler,Firebase JobDispatcher或AlarmManager

3、WorkManager基础知识

3.1、使用WorkManager之前需先了解几个类:

  • Worker:指定需要执行的任务,可以继承抽象的Worker类,在实现的方法中编写执行的逻辑
  • WorkRequest:执行一项单一任务
  1. WorkRequest对象必须指定Work执行的任务
  2. WorkRequest都有一个自动生成的唯一ID; 您可以使用ID执行取消排队任务或获取任务状态等操作
  3. WorkRequest是一个抽象的类;系统默认实现子类 OneTimeWorkRequest或PeriodicWorkRequest(循环执行)
  4.  WorkRequest.Builder创建WorkRequest对象;相应的子类:OneTimeWorkRequest.Builder或PeriodicWorkRequest.Builder
  5. Constraints:指定对任务运行时间的限制(任务约束);使用Constraints.Builder创建Constraints对象 ,并传递给WorkRequest.Builder
  • WorkManager:排队和管理工作请求;将WorkRequest 对象传递WorkManager的任务队列
  1. 如果您未指定任何约束, WorkManager立即运行任务
  • WorkStatus:包含有关特定任务的信息;可以使用LiveData保存 WorkStatus对象,监听任务状态;如LiveData<WorkStatus>

<

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值