分析下载功能源码和实现

安卓下载功能分析

最近看了一份实现下载功能的代码,为了方便学习和记忆,将下载功能拆分,根据功能模块分析源码逻辑,做了一份整理:

目标

  • 1.支持多种下载api,如okhttp、HttpURLConnection
  • 2.多线程、断点续传下载,线程池支持
  • 3.下载管理:开始、暂停、继续、取消、重新开始

    Read More

Share Comments

从FrameLayout分析View测量原理

Android View测量原理

public class DecorView extends FrameLayout implements RootViewSurfaceTaker, WindowCallbacks {
//...
}

我们知道DecorView是继承自FrameLayout,而且FrameLayout本身也比较简单,所以本文打算从FrameLayout的角度来分析view的measure过程。

Read More

Share Comments

弄懂Android 源码中那些巧妙位运算

本文部分内容节选自星星笑语的文章

原码反码补码的概念

在介绍位运算符之前,我们先来看看关于反码补码等的相关知识。

  • 正数的原码反码补码相同,都是将数字转换为二进制形式,然后将高位补0。比如说对于8位来说:
    • 10所对应的原码反码补码都是 0000 1010
    • 30所对应的原码反码补码都是 0001 1110

      Read More

Share Comments

CoordinatorLayout源码解读

CoordinatorLayout

本文源码基于 27.1.1
AppBarLayout 和 CoordinatorLayout是 2015年就已经推出的Material Design控件,一直以来也是只知其一
这次通过阅读源码参考实现一个水平方向的 CoordinatorLayout和AppBarLayout组合。

Read More

Share Comments

LeakCanary源码分析及借鉴

煤矿中的金丝雀

LeakCanary是一个帮我们在Android或Java项目开发时检测内存泄漏的库。

本文以LeakCanary-1.5.1版本为例,分析LeakCanary原理,以及借鉴其中的方法。

Read More

Share Comments

RecyclerView预加载机制源码分析

RecyclerView四级缓存

再次总结一下 RecyclerView 的四级缓存

  • Scrap
  • Cache
  • ViewCacheExtension
  • RecycledViewPool

    Read More

Share Comments

RecyclerView 源码分析

本文承接上文《RecyclerView 中的设计模式》,结合源码分析Recyclerview绘制、滑动、和缓存等逻辑

Read More

Share Comments

RecyclerView 中的设计模式

本篇文章是在掘金上偶然看到,介绍的比较全面,收藏到本博客

Recyclerview 在 Android 应用开发中使用非常频繁,但一般人只知道onCreateViewHolder、onBindViewHolder等简单使用。了解这篇文章无论是对项目中实际开发还是Android源码设计,都会有借鉴和帮助

Recyclerview 源码中用到的设计模式

本文通过桥接,组合,适配器,观察者模式四种设计模式来解读RecyclerView。

Read More

Share Comments