您当前的位置: 首页 >  android jetpack

xiangzhihong8

暂无认证

  • 1浏览

    0关注

    1324博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Android Jetpack架构组件(七)之WorkManager

xiangzhihong8 发布时间:2020-12-28 20:00:06 ,浏览量:1

一、WorkManager概述 1.1 WorkManager简介

在Android应用开发中,或多或少的会有后台任务的需求,根据需求场景的不同,Android为后台任务提供了多种不同的解决方案,如Service、Loader、JobScheduler和AlarmManger等。后台任务通常用在不需要用户感知的功能,并且后台任务执行完成后需要即时关闭任务回收资源,如果没有合理的使用这些API就会造成电量的大量消耗。为了解决Android电量大量消耗的问题,Android官方做了各种优化尝试,从Doze到app Standby,通过添加各种限制和管理应用程序进程来包装应用程序不会大量的消耗电量。

为了解决Android耗电的问题,Android提供了WorkManager ,用来对应用中那些不需要及时完成的任务提供一个统一的解决方案,借助WorkManager,开发者可以轻松调度那些即使在退出应用或重启设备时仍应运行的可延期异步任务。WorkManager是一套AP,用来替换先前的 Android 后台调度 API(包括 FirebaseJobDispatcher、GcmNetworkManager 和 JobScheduler)等组件。WorkManager需要API级别为14,同时可保证电池续航时间。

WorkManager的兼容性体现在能够根据系统版本,选择不同的方案来实现,在API低于23时,采用AlarmManager+Broadcast Receiver,高于23时采用JobScheduler。但无论采用哪种方式,任务最终都是交由Executor来执行。下图展示了WorkManager底层作业调度服务的运作流程。

关注
打赏
1482932726
查看更多评论
立即登录/注册

微信扫码登录

0.1319s