插件化框架 Shadow

Retrofit 如何支持 Kotlin Coroutine

随想

浅析 IO 框架:Okio

TCP 的三次握手和四次挥手

什么是 https

JUC 下一些线程安全的容器

HashMap 的一些知识点

LeakCanary 浅析

尾递归及尾递归优化

聊聊 OOM

Matrix - ResourcesCanary 浅析

Matrix - TraceCanary 浅析

MP4 文件结构浅析

深入 ANR:产生的根源、处理流程和日志文件

Tinker 如何实现热修复

崩溃日志收集库 xCrash 浅析

kotlin flow

Android 开发架构

gradle/booster 在编译期处理资源文件

深入解析 Binder

Handler、MessageQueue 和 Looper

一文搞懂事件分发,手势冲突和滑动冲突

阅读源码系列:ANR 是怎么产生的

图解 Glide

Activity 启动流程时序图

starting window

Scoped Storage(沙盒)

Vsync

Interview Notebook

Java 里锁(Lock)的实现

线程池(ThreadPool)的实现

Application 初始化流程

日志库 Logan

KOOM - 利用子进程 dump hprof

网络 IO 演变发展过程和模型介绍

mmap 和零拷贝

老罗的 Android 之旅阅读笔记(Dalvik/ART 虚拟机篇)

java.io & java.nio

浅析 IO 框架:Okio

Uncaught Exception Handling

killProcess & exit 的区别

ASM - 字节码操作库

SharedPreferences:架构、缺点和优化

MMKV - 高效的本地 Key-Value 存储

Fresco

ANR 设计思路:埋雷和除雷

Kotlin Coroutines 源码分析

xCrash ANR 兼容性测试

Matrix - ANR 原理解析

HTTP Range - 分段下载