Android 知识整理 · 持续更新中
专注 Android 开发知识整理与总结,涵盖 IPC 通信、View 事件分发、并发编程等核心知识点。 笔记基于实战经验与个人学习总结,希望能帮助到同样在 Android 路上前进的你。
从零手写状态机理解协程本质——可暂停再继续的函数
挂起≠阻塞:delay 期间线程被释放去干别的,sleep 期间线程真睡了
状态机到底长什么样?从 Continuation 到 COROUTINE_SUSPENDED
堆上!按需增长 vs OS 线程的固定 1MB——拆卸与重组调用链
给协程找一个「爹」——谁生谁管、谁死谁死,三条铁律永不泄漏
协程不绑定任何线程——它是线程的过客,Dispatcher 是派工系统
一根棍子+一堆续体+线程池——完整协程引擎的伪代码实现
底层同一套(epoll),上层不同皮——全自动 vs 兼容 vs 显式染色
Selector 是轮子,协程是车身——同一根棍子,天差地别的写法
CoroutineScope 就是协程世界的 Executor——从源码角度看懂调度器的继承体系与自定义线程池
从Retrofit到withContext——suspend的本质、生命周期作用域、并行串行分水岭
suspend 的传染性、两种封装方式对比、调度器相同时的零开销优化
从 Java 主线程到 Android 消息循环——两种切线程方式本质都是回调
从 sleep 与 delay 的本质差异出发,理解协程取消机制与结构化并发的层级管理思想
灵活组合并发执行与串行等待,用 coroutineScope 实现真正的结构化并发
用一个函数把传统回调式 API 转换成挂起函数,suspendCancellableCoroutine 更支持取消回调
launch/async/runBlocking 三种启动方式的分工——runBlocking 自建 CoroutineContext 阻塞桥接
Thread 对象=执行单元+管理句柄,Job 只是管理句柄——CoroutineScope 与 Job 的职责分离
结构化并发不是编译期语法树——parent 与 children 双向引用构成运行时动态 Job 树
从阿姆达尔定律到弹性线程池——Default/IO/Main/Unconfined 源码级解析
编译器在背后做了什么?从 5 行 Kotlin 反编译出 50 行 Java,逐行拆解 Continuation 状态机
Job 和 Dispatcher 的不同组合,决定了 scope 是否具备结构化并发的取消能力
Job 是协程的句柄和生命周期管理器,cancel 只改状态不杀人 —— 协程的取消是协作式的
以最小代价在阻塞式外部约束与协程世界之间架桥,内部保留结构化并发、取消与异常传播
理解HTTP基础概念、URL解析、请求响应报文结构及工作流程
深入理解HTTP请求方法特性、幂等性概念及状态码含义
深入理解HTTP头部字段的作用、格式及实际应用
系统梳理REST的核心概念、六大约束,并辨析HATEOAS原则
理解古典密码、对称加密、非对称加密、数字签名的核心原理
系统梳理编码、压缩、序列化与哈希的核心概念
从购物车到第三方登录,全面梳理认证授权机制
分层设计与工作原理详解
深入理解连接的本质、握手与挥手的详细步骤