移动 前端 Python Android JavaJetpackPack 知识

JetPack 之WorkManager

2020-11-15  本文已影响0人  zcwfeng

职能描述

管理和调度可以延迟的,但需要保证执行的后台任务

可延迟 不是必要立即执行,仍有必要在未来完成的任务
例如,发送分析数据场景满足。而发送及时消息就适合。

保证执行 即使设备重启,任务仍然会被执行
例如:1.图片备份就是一个保证执行和延迟执行的用例
2.当服务端有新的数据需要和客户端同步信息的任务,可以发送Firebase后者其他后台消息,把实际的同步任务交给WorkManager

不能也不等同
后台操作不等与线程的概念
WorkManager不能取代,Kotlin 协成,线程池,RxJava,但是可以配合使用

WorkInfo

为了兼容14+的设备 采用JobSchedule+ Executor+(AlarmManager,BroadcastReceiver)
为了保证执行,所有 通过workmanager 管理enqueue的消息都会加入到Workmanager的数据库,所以任务中断也会执行

线程管理
默认使用 非UI线程执行任务

Using Worker(默认)

其他方式

任务链

workmanager 可以将多个关联任务放在一个任务链中
比如: 加滤镜图片一,加滤镜图片二,加滤镜图片三
然后压缩----> 批量上传

任务策略
需要重复任务
创建唯一的任务
标记任务
重试策略

上一篇下一篇

猜你喜欢

热点阅读