Jetpack
文章平均质量分 86
紫气东来_life
没有谁的努力会被辜负
展开
-
JetPack系列---LiveData源码分析
最近公司项目不忙,抽时间把LiveData的源码撸了两边,每撸一次,印象就深刻几分,整体的思路就更加的清晰了,越发的觉得LiveData的源码真的很简单~一、源码分析注:使用的livedata和viewmodel的版本为2.2.0我们在使用LiveData的时候,通常和ViewModel配合来使用。在ViewModel中创建LiveData对象,使用ViewModelProvider创建ViewModel,Owner对象相同,就保证了ViewModel是相同的对象,那么LiveData对象就是相原创 2020-11-19 12:06:08 · 323 阅读 · 0 评论 -
JetPack系列---Databinding源码分析
最近撸了一些Jetpack的源码,发现自己阅读源码的能力越来越强了,为自己的努力点赞,相信没有谁的努力会被辜负Databinding本来是第一个就要撸的,但是当我进入源码世界之后,真的是被它弄糊涂了。找了半天没有什么头绪,最后只能把它放在最后来看了。即便是这样,把Databinding捋顺也用了半天的时间,期间还使用了反射来验证,也是麻烦至极。因为Databind所生成的代码文件,都是使用APT编译期生成的,所以我们可以使用debug打断点来找思路,一开始我自己没有注意这点,所以浪费了很多时间。行了,废原创 2020-11-24 21:16:47 · 420 阅读 · 0 评论 -
JetPack系列---WorkManager源码分析
WorkManager这个任务管理框架还是非常好用的,有人说可以用它替代Service,额,这个我就不太清楚了,不过个人认为替代AsycnTask和JobScheduler应该是没问题,而WorkManager中的循环任务使用的也正是JobScheduler。这里我不去介绍WorkManager的使用,官网和百度都是学习使用的圣地~,我这里只说源码,通过源码看本质,让我们更加透彻的了解WorkManager的原理。一、源码分析对于WorkManager的源码,从三个地方入手分析:WorkManage原创 2020-11-23 11:39:21 · 592 阅读 · 0 评论