当前位置: 首页 > news >正文

信用网站建设成效成都旅游季节最佳时间是几月份

信用网站建设成效,成都旅游季节最佳时间是几月份,软文营销的软文形式,网站不兼容怎么办作者 | Eason来源 | 程序员巴士前言一般情况下#xff0c;我们大部分的操作都是在app打开的时候进行的#xff0c;但是在某些情况下#xff0c;即使app关闭了#xff0c;我们也可能需要执行必要的动作#xff0c;或者会采取一个动作#xff0c;而不是让用户等待加载… 作者 | Eason来源 | 程序员巴士前言一般情况下我们大部分的操作都是在app打开的时候进行的但是在某些情况下即使app关闭了我们也可能需要执行必要的动作或者会采取一个动作而不是让用户等待加载我们可以在后台执行此操作并通知用户结果。针对这些日常工作中经常出现但是又非常棘手的情况学会使用workManager将会大家轻松解决这些问题。WorkManager 是一个 API可供大家轻松调度那些即使在退出应用或重启设备后仍应运行的可靠异步任务。WorkManager API 是一个适合用来替换所有先前的 Android 后台调度 API包括 FirebaseJobDispatcher、GcmNetworkManager 和 JobScheduler等的组件本人也建议您这样做。WorkManager 在其现代、一致的 API 中整合了其前身的功能该 API 支持 14及以上在开发时考虑到了对电池续航等影响。何时使用 WorkManagerWorkManager 处理需要在满足各种约束时运行的后台工作而不管应用程序进程是否处于活动状态。后台工作可以在应用程序在后台、应用程序在前台或应用程序在前台启动但转到后台时启动。无论应用程序在做什么后台工作都应该继续执行或者如果 Android 终止其进程则重新启动。关于 WorkManager 的一个常见混淆是它用于需要在“后台”线程中运行但不需要在进程死亡后继续存在的任务。不是这种情况。对于此用例还有其他解决方案例如 Kotlin 的协程、线程池或 RxJava 等库。针对许多不同的情况都需要运行后台工作因此运行后台工作有不同的解决方案。使用的充分不必要条件在 WorkManager 的情况下最好用于必须完成且可延迟的后台工作。首先问问自己这个任务需要完成吗如果应用被用户关闭是否还需要完成任务一个例子是带有远程同步的笔记应用程序写完笔记后如果希望该应用程序将笔记与后端服务器同步。即使切换到另一个应用程序并且操作系统需要关闭该应用程序以回收一些内存也会发生这种情况。就算重新启动设备它也应该发生。可以通过WorkManager 来确保任务完成。这个任务可以延期吗我们可以在以后运行的任务或者只运行是有用的权利呢如果任务可以稍后运行那么它是可延迟的。看下前面的示例立即上传即时笔记很理想但是由于网络限制等原因,不可能和编辑同步进行不过这也不是什么大问题毕竟主流应用的用户习惯都是这样。而正因为WorkManager 尊重操作系统背景限制并尝试以省电的方式运行您的工作 因此这也是选择WorkManager来做延时任务的最佳选择之一。WorkerManager的工作流程在后台WorkManager 根据以下条件使用底层作业来调度服务Work Request我们可以创建两种类型的工作请求。OneTimeWorkRequest → 当我们只处理一次PeriodicWorkRequest → 当我们以一定的时间间隔来做 WorkerCoroutinework是要暂停一个DoWork的通过在操作过程中进行必要的处理函数重载这个函数成功 失败条件我们可以处理。工作器初始化简易过程。我们指定它将使用 OneTimeWorkRequest 触发一次并将我们的 Worker 类作为参数。我们 运行使用 WorkManager 创建的 workRequest。doWork函数将在Worker 被触发时运行。向 Worker 发送数据在构建WorkRequest之前我们可以设置很多值其中之一便是setInputData()参数足以发送属于androidx.work的Data。在 Worker类中我们可以获取与inputData一起发送的值及其键。⚠️ 限制条件我们可以使用setConstraints()设置一些条件以便在运行worker之前检查这些条件。 setRequiresDeviceIdle → 如果我们想让它在进入 Doze 模式时工作我们只需要将其设置为 true。默认值为假。 setRequiresNetworkType → 我们可以设置互联网连接状态。 setRequiresBatteryNotLow → 如果电池电量不低我们可以设置它的状态。默认值为假。 setRequiresCharging → 插入状态。默认值为假。⏳Delay延迟部分对于 OneTimeRequest 会起作用一次对于临时workder也会以同样的方式起作用但是这种延迟不会在每次触发时起作用。Worker State Observe我们可以通过状态观察我们在Worker 中所做的过程有不止一种方法我们可以在它们之间进行选择。getWorkInfosByTagLiveData — getWorkInfosForUniqueWorkLiveData — getWorkInfoByIdLiveData本人更偏向使用workRequest的id进行观察通过将数据分配给Worker中的成功和失败状态将能够再次接收该数据并对其进行观察。⏱️ 临时worker它的工作方式与OneTime类似除此之外我们需要指定作用时间。但是会存在一个问题如果设备处于休眠模式进程会被搁置当设备被唤醒时进程会按顺序再次处理。如果大家希望能准确对进程进行操作则需要往清单文件中添加一下权限。uses-permission android:nameandroid.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS/官方文档 :https://developer.android.com/topic/libraries/architecture/workmanager https://bugrayetkinn.medium.com/android-workmanager-6bc60dcd17fd https://android-developers.googleblog.com/2018/10/modern-background-execution-in-android.html往期推荐如果让你来设计网络写时复制就这么几行代码还是不会留不住客户该从你的系统上找找原因了明明还有大量内存为啥报错“无法分配内存”点分享点收藏点点赞点在看
http://www.zqtcl.cn/news/405808/

相关文章:

  • 做网站接广告手机百度引擎搜索入口
  • html5网站怎么建设后台怎么弄厦门微信网站建
  • 幻影图片一键制作网站建筑工程是干嘛的
  • 技术支持 东莞网站建设东莞天助免费网站申请域名39939cn
  • js打开网站wordpress线报主题
  • 怎么做网站首页弹幕外贸网站高端定做
  • asp.net mvc 做网站做网站原型的软件
  • wordpress网站恢复北京app建设 网站开发公司
  • 给别人做设计的网站aso优化师工作很赚钱吗
  • 网店网站建设规划方案入门编程软件
  • 网站布局企业安全文化建设导则
  • 胶东国际机场建设有限公司网站2021重大军事新闻
  • 企业网站优化的方式萍乡市建设局网站王丽
  • 做网站的收费标准社保网上服务大厅
  • php网站开发安全网站建设管理教程视频教程
  • 网站建设的空间是什么意思海络网站
  • 深圳华强北今晚网站优化推广公司
  • 网站建设行业好做吗太原网站改版
  • 寿光企业建站流程个人网站用什么软件
  • 网站建设与管理自考本全国卷wordpress 关闭文章修订
  • 兴义市建设局网站首页网站开发项目实训总结
  • 个人网站空间收费网络软文营销案例
  • 网站开发文件结构组成微网站移交
  • 西安全网优化 西安网站推广网页浏览器缩略词
  • 网站开发及企业推广营销型网站建设怎么收费
  • 网站建设与管理ppt课件百度云盘关键词推广营销
  • c asp.net网站开发书宁波建设业协会网站
  • 政务网站建设发言材料知名互联网公司有哪些
  • 网站搭建制作建e室内设计网画图
  • 重庆市建设工程施工安全管理信息网北京seo公司网站