第1章
卡顿的本质
为什么UI会卡?主线程阻塞的真相 · 帧率与刷新率 · 掉帧与ANR
核心概念帧率
第2章
线程基础回顾
进程与线程 · Python线程创建 · 生命周期 · GIL影响
线程GIL
第3章
主线程与UI线程
主线程职责 · UI操作绑定 · 消息循环 · 简单消息队列实现
消息循环UI线程
第4章
卡顿的测量
量化卡顿 · FPS监控 · 帧耗时分析 · adb抓取帧数据
性能FPS
第5章
耗时操作识别
网络/文件/计算瓶颈 · cProfile定位 · 火焰图解读
性能分析cProfile
第6章
异步编程入门
回调模式 · Event Loop · asyncio基础 · async/await
异步asyncio
第7章
线程间通信
Queue · 线程安全数据结构 · Lock/RLock · Condition/Event
通信同步
第8章
线程池与进程池
ThreadPoolExecutor · ProcessPoolExecutor · Future · 回调
线程池进程池
第9章
协程进阶
深入await · Task与Future · 调度原理 · asyncio底层
协程调度
第10章
界面冻结的元凶
time.sleep陷阱 · 死循环 · 死锁 · 竞态条件
冻结死锁
第11章
生产者-消费者模式
模式原理 · UI线程应用 · 多生产者消费者 · Queue解耦
设计模式解耦
第12章
观察者模式
事件驱动 · 信号与槽 · 自定义事件 · UI更新应用
观察者事件
第13章
Qt中的多线程
QThread · 信号槽线程安全 · QMetaObject · QThreadPool
QtQThread
第14章
Tkinter中的多线程
线程限制 · after() · 安全更新UI · 自定义事件队列
Tkinterafter
第15章
WxPython中的多线程
wx.CallAfter · wx.PostEvent · wx.Yield · 安全传递
wxPythonCallAfter
第16章
Kivy中的多线程
Clock.schedule_once · @mainthread · AsyncImage · Builder
KivyClock
第17章
Web UI中的多线程
JS Event Loop · Web Worker · SharedArrayBuffer · rAF
WebWorker
第18章
数据加载优化
懒加载 · 虚拟列表 · 异步解码 · 预加载策略
加载虚拟列表
第19章
布局计算优化
布局嵌套 · ConstraintLayout · 过度绘制 · 硬件加速
布局硬件加速
第20章
动画与渲染
60fps原理 · rAF vs setInterval · CSS GPU加速 · Canvas
动画渲染
第21章
内存管理
内存泄漏 · 循环引用 · 弱引用 · 对象池
内存泄漏
第22章
垃圾回收的影响
GC暂停 · 分代回收 · 减少GC压力 · gc模块调优
GC调优
第23章
性能分析工具
Xcode Instruments · Android Profiler · Chrome DevTools · py-spy
工具分析
第24章
实战案例一:图片浏览器
缩略图异步生成 · 内存/磁盘缓存 · 预加载 · 滑动窗口
实战图片
第25章
实战案例二:聊天消息列表
增量更新 · 虚拟列表 · 防抖与节流
实战聊天
第26章
实战案例三:数据可视化大屏
WebSocket实时 · Canvas优化 · 帧率自适应
实战大屏
第27章
实战案例四:文件管理器
目录树异步加载 · 图标懒加载 · 搜索防抖取消
实战文件
第28章
跨平台框架对比
Flutter Isolate · RN JSI · Electron进程 · Tauri Rust
跨平台对比
第29章
架构设计
MVVM · 单向数据流 · Redux/MobX · 不可变数据
架构状态管理
第30章
总结与最佳实践
卡顿排查清单 · 黄金法则 · Code Review · 持续监控
总结规范