Arouter 原理浅析

前言

想必大家都是用过arouter框架了,可以说arouter被广泛应用在组件化场景中,作为组件之间跳转的基石。在这篇中,我将主要分析arouter实现的原理,包括如何apt的部分以及使用时跳转的部分。

阅读更多

Android Jetpack系列其二livedata

1. livedata实现原理
2. livedata实现双向绑定

前言

livedata是被观察者的持有类,并能感应生命周期。此篇文章重在分析两点

  • livedata如何实现观察者模式的
  • livedata是如何感知数据流的变化的
  • livedata是如何感知lifecycleOwner的生命周期的
阅读更多

Fragment原理浅析

前言

Fragment在日常开发中非常的常用,一版都是配合ViewPager或FrameLayout使用,我们基本不用担心操作它attachToActivity,因为FragmentManager都帮我们处理好了。那么Fragment是如何绑定Activity的生命周期的呢?系统是如何将Fragment添加到视图层的呢?Fragment的回退栈又是什么呢?带着这些问题我们开始探索Fragment的源码吧。

阅读更多

Android事件分发机制(二)

前言

接上节,在这一小节中,我将着重从View和ViewGroup的源码中去探索事件分发的流程是否如上小节分析的那样,带着上一节所留下的疑问开始愉快的阅读源码吧。

阅读更多

Android事件分发机制(一)

前言

Android事件分发机制是Android开发中最基础的知识,在平时的开发中没有少用,但是确很少总结。温故而知新,为此我决定重新分析一下,也是对自己的经验做下总结。

阅读更多
Room原理浅析

Room原理浅析

前言

Room是Google推出的数据库处理框架,Jetpack中的一员

版本号

androidx.room:room-common:2.2.3
androidx.room:room-runtime:2.2.3
androidx.room:room-compiler:2.2.3
阅读更多

Android代码混淆

前言

最近在用Kotlin撸App,准备发版了,做下代码混淆,想用原来的混淆逻辑,但是发现各种报错,头大的很,觉得是自己关于混淆的知识积累不够多,是应该系统的学习一下了!顺便在此记录下遇到的坑。那下面我们开始吧。

阅读更多