JetPack WorkManager

WorkManager是一个兼容API 14+的库,用于安排即使在应用关闭或设备重启后也应运行的后台任务。它适用于延迟任务,如日志发送、数据同步。本文介绍了WorkManager的主要功能、使用入门,包括Worker、WorkRequest和WorkManager的使用,以及如何检查和管理任务状态。
摘要由CSDN通过智能技术生成

 

1.概览

官方文档:WorkManager
谷歌实验室:官方教程
官方案例:android-workmanager
WorkManger介绍视频:中文官方介绍视频

谷歌工程师博客:https://medium.com/androiddevelopers/workmanager-basics-beba51e94048

Android JetPack实例学习:https://www.jianshu.com/p/68e720b8a939

1.1  定义

使用 WorkManager API 可以轻松地调度即使在应用退出或设备重启时仍应运行的可延迟异步任务。

WorkManager, a compatible, flexible and simple library for deferrable background work.
WorkManger是一个可兼容、灵活和简单的延迟后台任务。

1.2 主要功能

最高向后兼容到 API 14

  • 在运行 API 23 及以上级别的设备上使用 JobScheduler
  • 在运行 API 14-22 的设备上结合使用 BroadcastReceiver 和 AlarmManager

 

  • 添加网络可用性或充电状态等工作约束
  • 调度一次性或周期性异步任务
  • 监控和管理计划任务
  • 将任务链接起来
  • 确保任务执行,即使应用或设备重启也同样执行任务
  • 遵循低电耗模式等省电功能

WorkManager 旨在用于可延迟运行(即不需要立即运行)并且在应用退出或设备重启时必须能够可靠运行的任务。例如:

  • 向后端服务发送日志或分析数据
  • 定期将应用数据与服务器同步

WorkManager 不适用于应用进程结束时能够安全终止的运行中后台工作,也不适用于需要立即执行的任务。请查看后台处理指南,了解哪种解决方案符合您的需求。

2. 使用入门

2.1 添加依赖

   dependencies {
      def work_version = "2.3.4"
        // (Java only)
        implementation "androidx.work:work-runtime:$work_version"
        // Kotlin + coroutines
        implementation "androidx.work:work-runtime-ktx:$work_version"
   }

2.2 方法指南

WorkManager 中几个重要类

Worker 创建后台任务,定义工作单元。继承Worker,复写doWork() ,实现需要执行代码。
WorkRequest 定义工作得运行方式和时间,以及任务在运行时应遵循得约束。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值