当前位置:首页 > 数码 >

workmanager问题(workmanager 适合做什么)

来源:原点资讯(www.yd166.com)时间:2024-04-22 17:35:38作者:YD166手机阅读>>

前言

一般情况下,我们大部分的操作都是在app打开的时候进行的,但是在某些情况下,即使app关闭了,我们也可能需要执行必要的动作,或者会采取一个动作,而不是让用户等待加载,我们可以在后台执行此操作并通知用户结果。针对这些日常工作中经常出现但是又非常棘手的情况,学会使用workManager将会大家轻松解决这些问题。

workmanager问题,workmanager 适合做什么(1)

WorkManager 是一个 API,可供大家轻松调度那些即使在退出应用或重启设备后仍应运行的可靠异步任务。WorkManager API 是一个适合用来替换所有先前的 Android 后台调度 API(包括 FirebaseJobDispatcher、GcmNetworkManager 和 JobScheduler等)的组件,本人也建议您这样做。WorkManager 在其现代、一致的 API 中整合了其前身的功能,该 API 支持 14及以上,在开发时考虑到了对电池续航等影响。

何时使用 WorkManager

WorkManager 处理需要在满足各种约束时运行的后台工作,而不管应用程序进程是否处于活动状态。后台工作可以在应用程序在后台、应用程序在前台或应用程序在前台启动但转到后台时启动。无论应用程序在做什么,后台工作都应该继续执行,或者如果 Android 终止其进程则重新启动。

关于 WorkManager 的一个常见混淆是它用于需要在“后台”线程中运行但不需要在进程死亡后继续存在的任务。不是这种情况。对于此用例,还有其他解决方案,例如 Kotlin 的协程、线程池或 RxJava 等库。

针对许多不同的情况都需要运行后台工作,因此运行后台工作有不同的解决方案。

workmanager问题,workmanager 适合做什么(2)

使用的充分不必要条件?

在 WorkManager 的情况下,最好用于必须完成且可延迟的后台工作。

首先,问问自己:

  • 这个任务需要完成吗?

如果应用被用户关闭,是否还需要完成任务?一个例子是带有远程同步的笔记应用程序;写完笔记后,如果希望该应用程序将笔记与后端服务器同步。即使切换到另一个应用程序并且操作系统需要关闭该应用程序以回收一些内存,也会发生这种情况。就算重新启动设备,它也应该发生。可以通过WorkManager 来确保任务完成。

  • 这个任务可以延期吗?

我们可以在以后运行的任务,或者只运行是有用的权利呢?如果任务可以稍后运行,那么它是可延迟的。看下前面的示例,立即上传即时笔记很理想,但是由于网络限制等原因,不可能和编辑同步进行,不过这也不是什么大问题,毕竟主流应用的用户习惯都是这样。而正因为WorkManager 尊重操作系统背景限制,并尝试以省电的方式运行您的工作, 因此这也是选择WorkManager来做延时任务的最佳选择之一。

WorkerManager的工作流程

在后台,WorkManager 根据以下条件使用底层作业来调度服务:

workmanager问题,workmanager 适合做什么(3)

Work Request

我们可以创建两种类型的工作请求。

OneTimeWorkRequest → 当我们只处理一次

PeriodicWorkRequest → 当我们以一定的时间间隔来做

Worker

Coroutinework是要暂停一个DoWork的通过在操作过程中进行必要的处理函数重载这个函数成功 失败条件,我们可以处理。

工作器初始化简易过程。

我们指定它将使用 OneTimeWorkRequest 触发一次,并将我们的 Worker 类作为参数。 我们> 运行使用 WorkManager 创建的 workRequest。

doWork函数将在Worker 被触发时运行。

向 Worker 发送数据

在构建WorkRequest之前,我们可以设置很多值,其中之一便是setInputData()参数,足以发送属于androidx.work的Data。

workmanager问题,workmanager 适合做什么(4)

首页 1234下一页

栏目热文

如何添加workgroup(如何添加微信好友)

如何添加workgroup(如何添加微信好友)

随着网络的快速发展,为了方便工作,有很多电脑用户会在同一个局域网设置工作组,这也方便沟通,那么win7电脑怎么设置局域网...

2024-04-22 17:58:19查看全文 >>

workgroup怎么连接到电脑(workgroup在不同语境下的使用)

workgroup怎么连接到电脑(workgroup在不同语境下的使用)

Win7系统怎么设置局域网工作组?伴随着网络的高速发展,很多电脑用户为了让工作更加方便,就会在局域网当中设置工作组,这样...

2024-04-22 18:04:15查看全文 >>

workgroup怎么输入用户名和密码(如何去掉workgroup密码)

workgroup怎么输入用户名和密码(如何去掉workgroup密码)

本章我们来学习如何创建域用户、创建组、划分用户到相应的组以及计算机的加域和退域。1、首先创建一个组织单位:鼠标右键点域名...

2024-04-22 18:20:06查看全文 >>

怎样启动workgroup权限(如何加入到workgroup工作组)

怎样启动workgroup权限(如何加入到workgroup工作组)

许多学校、办公室或小型组织,常采用WorkGroup工作组的方式使用Windows 10,通常会有一个管理员负责用户在其...

2024-04-22 18:21:04查看全文 >>

workgroup无法访问(workgroup服务未启动)

workgroup无法访问(workgroup服务未启动)

电脑不能查看工作组计算机怎么办?查看工作组计算机时提示workgroup无法访问该如何解决?本文就给大家分享电脑系统无法...

2024-04-22 17:39:59查看全文 >>

workgroup怎么删除(workgroup没有权限访问怎么办)

workgroup怎么删除(workgroup没有权限访问怎么办)

在从Workgroup PDM库中删除用户之前应采取哪些预防措施?文章来源:SOLIDWORKS代理商-卓盛信息在从Wo...

2024-04-22 17:42:59查看全文 >>

worklist连接失败(workfolders可以删除吗)

worklist连接失败(workfolders可以删除吗)

文章来源于公众号「医工研习社」,作者zhuwei,部分内容略有删添导语因为影像检查的重要性,医学影像科正在慢慢变成医院的...

2024-04-22 17:52:53查看全文 >>

workgroup什么软件(workgroup无法访问您可能没有权限)

workgroup什么软件(workgroup无法访问您可能没有权限)

群聊App是一种非常有用的交流工具,可一次与多个人联系。在跨境电商营销中,群聊App可以发挥重要的作用。蓝海亿观网在此介...

2024-04-22 17:42:38查看全文 >>

lol布隆技能详细介绍

lol布隆技能详细介绍

作者:NGA-Showmaker333现版本各类强开型辅助横行,队友选择了比较脆并且没有位移的ad很容易导致对线被打穿,...

2024-04-22 18:22:25查看全文 >>

lol布隆图片(lol布隆背后故事)

lol布隆图片(lol布隆背后故事)

布隆的特点:布隆被认为是《英雄联盟》中最具有正面形象的英雄。他不仅有着能够帮助玩家缓解压力的温馨台词,而且他的整个技能组...

2024-04-22 18:00:05查看全文 >>

文档排行