SuperAPI AI 工具集

workmanager

通用与其它

查看项目

更新于 10-15 19:56

技能介绍

用途:WorkManager 是 Android 上持久、可保证执行的后台工作推荐方案,适合周期后台同步(15 分钟以上)、延迟任务(上传文件、压缩图片)、必须执行的任务、带约束的工作(如仅 WiFi、充电时)。不适合立即执行(用协程)、精确定时(用 AlarmManager)和前台工作(用 ViewModel/Service 中的协程)。

主要能力:基于 CoroutineWorker 实现 doWork(),返回 Result.success/retry/failure;支持输入输出数据(workDataOf)、进度更新(setProgress)、前台通知(setForeground)、约束(网络、电量、充电、存储、设备空闲)、一次性/周期/延迟/加急任务、任务链(beginWith/then、并行 combine)、唯一任务(REPLACE/KEEP/APPEND)、按 ID/标签/唯一名观察与取消、Flow 观察、测试(WorkManagerTestInitHelper、TestListenableWorkerBuilder)以及依赖注入 WorkerFactory。

使用方式:添加依赖 implementation("androidx.work:work-runtime-ktx:2.10.0");用 OneTimeWorkRequestBuilder 或 PeriodicWorkRequestBuilder 构建请求,设置约束与输入数据,通过 WorkManager.getInstance(context).enqueue() 入队;周期任务最小间隔 15 分钟,flex 间隔需 ≥5 分钟且小于重复间隔。

限制:执行时间近似,非精确定时;Doze 模式可能显著延迟;Worker 应在 10 分钟内完成;输入输出数据上限 10KB,仅支持基本类型、数组和字符串;每次执行重建 Worker 实例,不能依赖实例状态;context 为 Application;依赖 Google Play Services JobScheduler;受厂商电池优化和应用待机桶影响。资料未提供收费、价格与平台信息。