目录
1、Android
2、Java
3、Flutter
4、数据结构
5、设计模式
一、Android
1,线程、异步和消息
Android 消息机制
Rx 异步
Rx 线程切换
Rx 转换操作符
ThreadLocal 原理
AsyncTask 任务
EventBus
volatile 关键字
线程池 ExecutorService
线程 interrupt() 中断
静态锁与对象锁
wait() 和 notify()
Lock 锁
AtomicInteger 类
2,系统组件
Activity 生命周期
Activity 启动流程
Activity 组件创建
Context 和组件关系
Ams 服务流程( Activity 启动)
Activity 启动模式及场景
Service 启动流程
Service 绑定流程
IntentService 原理
Android 广播
LocalBroadcastReceiver 本地广播
ContentProvider 原理
Fragment 生命周期
Intent 数据传递
创建进程 Android
3,视图
setContentView() 初始化
WindowManager 管理
onWindowFocusChanged() 方法
Window addView 视图
View onMeasure
View onLayout
ScrollView 滑动原理
invalidate() 原理
NestedScroll 机制
RecyclerView 回收机制
侧滑关闭界面原理
Choreographer 控制
ViewGroup addView() 方法
requestLayout() 方法
Surface 分析
补间动画原理
正在加载之8个圆球动画旋转
Scroller 原理
实现爆炸效果
硬件渲染_绘制阶段上层基本流程
硬件渲染_数据同步
硬件渲染_树形视图节点绘制记录
硬件渲染_绘制一帧
ViewGroup 事件传递原理
View 事件传递原理
触屏事件进入 Activity
手指触控点
判断长按和点击
InputManager 服务启动
InputManager 之事件读取流程
InputManager 之 InputDispatcher 得到事件
InputManager 之派送给 Window
4,图形图像
Glide 初始化
Glide 简单流程
Glide Engine
Glide Fetcher
Glide Decode
Glide Target
Glide Disk Cache
Glide Memory Cache
Glide Executor
Glide Registry
Glide 采样率 inSampleSize 计算
Bitmap 分析
ImageView ScaleType
5,架构组件
Lifecycle
LiveData
ViewModel
Dagger2 依赖注入
Arouter 路由框架
ButterKnife
6,网络
7,进程通信
Binder 注册与查找
Binder 通信原理
Binder 驱动注册
进程通信方案
Parcel 分析
Android Parcelable
Parcel 解析 Bundle 数据
8,性能和打包
Android 内存泄漏
性能优化总结
Android 打包流程
Apk 瘦身方案
签名文件
Android 之 Gradle 脚本流程
关于 C++ 层 Thread 的 threadLoop 的问题
Java 与 JNI 层通信
Android 存储路径
LeakCanary
BlockCanary
二、Java
String 类
equals() 和 hashCode() 方法
final 关键字
Serializable 序列化
Java 自动装箱/拆箱
类加载过程
Java 对象创建
Java 内存结构
双亲委派模型
JVM、Dalvik、ART 比较
注解处理器
反射汇总
三、Flutter
Flutter 工程结构
Flutter 之Gradle配置
Flutter 打包产物
Flutter 架构
Flutter 通信流程
Flutter 初始化
FlutterBoost 源码
Flutter 之 StreamBuilder
Flutter 之 Widget 和 Element
Flutter 之 Bloc 原理探索
Flutter 之 mixin 关键字
四、算法和数据结构
HashMap 原理
LruCache 原理
LinkedBlockingQueue 源码
SpareArray 源码
栈实现
CopyOnWriteArrayList 并发
五、设计模式
任重而道远