微信公众号

Glide源码分析解读-基于Glide 4.9.0

Glide 源码很复杂, 涉及到的东西也很多,这里不能面面俱到,只是把我认为重要的东西介绍了一下,可能还有一些疏漏。

首先我将 Glide 分成了几个模块,让大家有个整体的印象,自顶向下的分析源码,从而实现降维打击。
按照逻辑功能划分,可以把 Glide 框架大概的分成如下几个部分:

Handler 消息机制

Handler、Message、Looper、MessageQueue、ThreadLocal 的作用以及联系,比如 Handler 的 sendXxx 和 postXxx 两者的区别、不同的 Handler 的构造方法的 handleMessage 的优先级等等,Message 的排序、回收等。

Android 内存优化

为什么优化

虽然 Java 对内存的释放有垃圾自动回收机制,但是实际开发中,
不再用到的对象因为被错误引用会导致无法回收,从而造成内存泄漏,
甚至内存溢出 OOM(OutOfMemory),程序崩溃。

Android代码混淆干货

  • 混淆代码能有效防止被反编译,防止自己的劳动成果被别人窃取;
  • ProGuard是一个开源的Java代码混淆器。它可以混淆Android项目里面的java代码,对的,你没看错,仅仅是java代码。它是无法混淆Native代码,资源文件drawable、xml等。
|