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

Android Jetpack 从使用到源码深耕【调度任务组件WorkManager 从实践到原理 】(一)

本文,我们对Jetpack的调度任务组件WorkManager ,由使用入手,对其源码进行深入学习、总结一下。

1.问题

研究这个框架之前,我们基于自己已有的知识体系,想一些问题,给自己设定一些目标,带着目标和问题,去阅读这块的源码,相信收获会更多更深一些。
1) WorkManager 是做什么的?
2) WorkManager 怎么用?
3) WorkManager 是如何实现的?我们自己如何去实现这样一个框架,如何实现?
4)尝试先用自己的已有知识体系,实现一下 WorkManager
5) WorkManager 如何实现调度任务管理、执行的?是否就是对ThreadPool+Runnable进行的一次封装实现?
6)WorkManager 的官方实现源码中,有哪些可以改进的地方?
希望读完本文,大家对于这些问题,都有自己的答案。

2.背景

使用之前,我们首先需要知道,Google开发公开这个组件的立意是什么?

我们之前讲过Handler、Looper、Thread、MQ、Message相关源码,以及相关的关系 ,从而也引出了这样一个基础知识点,Thread 是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,那么它可以是while true一直占用cpu资源运行,但是具体运行什么,需要由外界交


http://www.kler.cn/a/6620.html

相关文章:

  • Java期末复习暨学校第十三次上机课作业
  • javaScriptBOM
  • ChatGPT重大更新:新增实时搜索和高级语音
  • 二八(vue2-04)、scoped、data函数、父子通信、props校验、非父子通信(EventBus、provideinject)、v-model进阶
  • 【蓝桥杯】43696.小数第n位
  • 网络安全概论——防火墙原理与设计
  • 常用的 Druid 参数
  • 详解多线程与Spring事务
  • PVE虚拟机安装爱快/iKuai软路由(爱快软路由虚拟机系统安装教程)
  • npm ci 和 npm i 的区别
  • k8s常用软件包下载
  • RecycleView小结
  • php+微信小程序 websocket
  • C/C++每日一练(20230403)
  • 【数据库管理】⑥日志挖掘LogMiner
  • 图像镶嵌拼接
  • ToBeWritten之MIPS汇编基础铺垫
  • aspnet030高校学生团体管理系统sqlserver
  • 夜天之书 #80 推特开源算法与开放革命
  • RocketMQ消息ACK机制及消费进度管理
  • Linux——控制启动过程(更改root密码)
  • springcloud整合knike4j聚合微服务接口文档
  • 蓝桥杯 路径
  • 2.11 循环赛日程表
  • 编译与链接相关知识
  • 推荐一款强大的OCR工具