分析下载功能源码和实现 2020-05-26 accumulation download 11 min read , Words: 2012 安卓下载功能分析最近看了一份实现下载功能的代码,为了方便学习和记忆,将下载功能拆分,根据功能模块分析源码逻辑,做了一份整理: 目标 1.支持多种下载api,如okhttp、HttpURLConnection 2.多线程、断点续传下载,线程池支持 3.下载管理:开始、暂停、继续、取消、重新开始 Read More
从FrameLayout分析View测量原理 2019-12-09 accumulation FrameLayout, Measure, RelativeLayout 10 min read , Words: 1816 Android View测量原理public class DecorView extends FrameLayout implements RootViewSurfaceTaker, WindowCallbacks { //...} 我们知道DecorView是继承自FrameLayout,而且FrameLayout本身也比较简单,所以本文打算从FrameLayout的角度来分析view的measure过程。 Read More
弄懂Android 源码中那些巧妙位运算 2019-12-08 accumulation bits operation 5 min read , Words: 818 本文部分内容节选自星星笑语的文章 原码反码补码的概念在介绍位运算符之前,我们先来看看关于反码补码等的相关知识。 正数的原码反码补码相同,都是将数字转换为二进制形式,然后将高位补0。比如说对于8位来说: 10所对应的原码反码补码都是 0000 1010 30所对应的原码反码补码都是 0001 1110 Read More
CoordinatorLayout源码解读 2019-09-12 accumulation CoordinatorLayout 16 min read , Words: 3115 CoordinatorLayout本文源码基于 27.1.1AppBarLayout 和 CoordinatorLayout是 2015年就已经推出的Material Design控件,一直以来也是只知其一这次通过阅读源码参考实现一个水平方向的 CoordinatorLayout和AppBarLayout组合。 Read More
LeakCanary源码分析及借鉴 2019-07-30 accumulation Android Source Code, LeakCanary 13 min read , Words: 2406 煤矿中的金丝雀LeakCanary是一个帮我们在Android或Java项目开发时检测内存泄漏的库。 本文以LeakCanary-1.5.1版本为例,分析LeakCanary原理,以及借鉴其中的方法。 Read More
RecyclerView预加载机制源码分析 2019-07-17 accumulation RecyclerView 2 min read , Words: 227 RecyclerView四级缓存再次总结一下 RecyclerView 的四级缓存 Scrap Cache ViewCacheExtension RecycledViewPool Read More
RecyclerView 源码分析 2019-05-31 accumulation Android Source Code, RecyclerView 31 min read , Words: 6064 本文承接上文《RecyclerView 中的设计模式》,结合源码分析Recyclerview绘制、滑动、和缓存等逻辑 Read More
RecyclerView 中的设计模式 2019-05-30 accumulation RecyclerView 9 min read , Words: 1748 本篇文章是在掘金上偶然看到,介绍的比较全面,收藏到本博客 Recyclerview 在 Android 应用开发中使用非常频繁,但一般人只知道onCreateViewHolder、onBindViewHolder等简单使用。了解这篇文章无论是对项目中实际开发还是Android源码设计,都会有借鉴和帮助 Recyclerview 源码中用到的设计模式本文通过桥接,组合,适配器,观察者模式四种设计模式来解读RecyclerView。 Read More