博客总览
AndroidandroidApp启动过程Android系统启动跨进程通信-AIDL解析HandlerThread、IntentServer更新UI的几种方式Handler源码解析重新理解HandlerAndroid打包过程进程保活oom图片压缩的两种方法压缩热修复fragment与Activity通信性能优化app编译打包混淆mvc、mvp、mvvpActivity启动源码全解析WindowManage、Window、ViewRootImpl、View之间关系Bindle详解跨进程通信-Messageandroid各版本区别
Gradle初识Gradle使用脚本修改包名(package)同一套代码打多个APP
View源码角度理解Android事件分发view的measure过程CanvassetContentView源码解析View基础重认识view的滑动
集合CollectionHashSetHashMapArrayListLinkedList
javaJUC锁锁的分类CASCopyOnWriteArrayListConcurrentHashMapSynchronizedvolatile
内部类Thread泛型接口、抽象类、继承4种引用类型线程死锁class loaderJDK各版本区别注解学习反射使用字节码Class文件解读内存区域和垃圾回收
三方源码分析Retrofit源码分析解耦简单封装
设计模式适配器模式适配器模式实战
Android
android
App启动过程
Android系统启动
跨进程通信-AIDL解析
HandlerThread、IntentServer
更新UI的几种方式
Handler源码解析
重新理解Handler
Android打包过程
进程保活
oom
图片压缩的两种方法压缩
热修复
fragment与Activity通信
性能优化
app编译打包混淆
mvc、mvp、mvvp
Activity启动源码全解析
WindowManage、Window、ViewRootImpl、View之间关系
Bindle详解
跨进程通信-Message
android各版本区别
Gradle
初识Gradle
使用脚本修改包名(package)
同一套代码打多个APP
View
源码角度理解Android事件分发
view的measure过程
Canvas
setContentView源码解析
View基础重认识
view的滑动
集合
Collection
HashSet
HashMap
ArrayList
LinkedList
java
JUC锁
锁的分类
CAS
CopyOnWriteArrayList
ConcurrentHashMap
Synchronized
volatile
内部类
Thread
泛型
接口、抽象类、继承
4种引用类型
线程
死锁
class loader
JDK各版本区别
注解学习
反射使用
字节码Class文件解读
内存区域和垃圾回收
三方源码分析
Retrofit
源码分析
解耦
简单封装
设计模式
适配器模式
适配器模式实战