[January 31, 2016] [置顶]Android 操作系统架构开篇
[June 1, 2019] [置顶]Flutter 跨平台演进及架构开篇
[March 26, 2020] 字节跳动为什么选用Flutter:并非跨平台终极之选,但它可能是不一样的未来
[October 19, 2019] 彻底掌握Timeline原理(一)
[October 12, 2019] ServiceIsolate工作原理
[October 5, 2019] Dart虚拟机运行原理
[September 22, 2019] 解读Dart虚拟机的参数列表
[September 21, 2019] Flutter机器码生成gen_snapshot
[September 14, 2019] Flutter前端编译frontend_server
[September 7, 2019] 源码解读Flutter run机制
[September 1, 2019] 源码解读Flutter tools机制
[August 10, 2019] 深入理解Flutter的Platform Channel机制
[August 4, 2019] 搭建Flutter Framework开发环境
[August 3, 2019] 搭建Flutter Engine源码编译环境
[July 27, 2019] 深入理解Flutter的Isolate创建过程
[July 21, 2019] 深入理解Flutter异步Future机制
[July 20, 2019] 深入理解Flutter消息机制
[July 13, 2019] 深入理解Flutter动画原理
[July 6, 2019] 深入理解setState更新机制
[June 29, 2019] 深入理解Flutter应用启动
[June 23, 2019] 深入理解Dart虚拟机启动
[June 22, 2019] 深入理解Flutter引擎启动
[June 16, 2019] Flutter渲染机制—GPU线程
[June 15, 2019] Flutter渲染机制—UI线程
[May 28, 2019] 我与小米的那些年
[April 6, 2019] 彻底理解安卓应用无响应机制
[March 20, 2019] Android技术架构演进与未来
[January 26, 2019] 理解Android P内部API的限制调用机制
[January 19, 2019] global reference限制策略
[January 13, 2019] 深度解读ArrayMap优势与缺陷
[January 6, 2019] 源码解读epoll内核机制
[January 5, 2019] 源码解读poll/select内核机制
[December 2, 2018] 源码解读Linux等待队列
[June 2, 2018] 理解Android.bp
[May 19, 2018] 解读Android进程优先级ADJ算法
[May 12, 2018] Binder Driver缺陷导致定屏的案例
[April 8, 2018] 系统角度解读Android P新特性
[February 24, 2018] 深度剖析APP保活案例
[February 17, 2018] 跑monkey压力测试过程的冻屏案例
[February 10, 2018] 数组越界导致系统重启的案例
[February 3, 2018] 一行Log引发多线程并发问题的案例
[January 27, 2018] Android logd日志原理
[October 6, 2017] NotificationManagerService原理分析
[September 9, 2017] 介绍gdb调试工具
[September 2, 2017] 介绍addr2line调试命令
[August 12, 2017] /proc/stat解析
[August 6, 2017] Linux进程pid分配法
[August 5, 2017] Linux进程管理(二)--fork
[July 30, 2017] Linux进程管理(一)
[July 16, 2017] Android SDK与API Level对应关系
[July 9, 2017] Android打印Trace堆栈
[July 2, 2017] AMS之dumpsys篇
[June 25, 2017] AMS总结(一)
[June 18, 2017] 全面剖析SharedPreferences
[June 11, 2017] 四大组件之ActivityRecord
[June 4, 2017] 四大组件之ContentProviderRecord
[June 3, 2017] 四大组件之BroadcastRecord
[May 25, 2017] 四大组件之ServiceRecord
[May 19, 2017] 四大组件之综述
[May 1, 2017] Binder异常解析
[April 23, 2017] LocalBroadcastManager原理分析
[April 16, 2017] 简述Activity与Window关系
[April 9, 2017] 理解Android Context
[April 2, 2017] 理解Application创建过程
[March 26, 2017] loadLibrary动态库加载过程分析
[March 19, 2017] Android类加载器ClassLoader
[March 12, 2017] 理解AlarmManager机制
[March 10, 2017] 理解JobScheduler机制
[February 25, 2017] Choreographer原理
[February 18, 2017] SurfaceFlinger绘图篇
[February 11, 2017] SurfaceFlinger启动篇
[February 5, 2017] Android图形系统概述
[January 22, 2017] 以Window视角来看startActivity
[January 15, 2017] WMS—启动窗口(StartingWindow)
[January 8, 2017] WMS—启动过程
[January 1, 2017] Input系统—ANR原理分析
[December 31, 2016] Input系统—事件处理全过程
[December 24, 2016] Input系统—UI线程
[December 17, 2016] Input系统—InputDispatcher线程
[December 11, 2016] Input系统—InputReader线程
[December 10, 2016] Input系统—启动篇
[December 2, 2016] 理解Android ANR的信息收集过程
[November 27, 2016] Native进程之Trace原理
[November 26, 2016] 解读Java进程的Trace文件
[November 20, 2016] 多用户管理UserManager
[November 13, 2016] Installd守护进程
[November 6, 2016] PackageManager启动篇
[October 29, 2016] 进程的Binder线程池工作过程
[October 22, 2016] Android进程绝杀技--forceStop
[October 9, 2016] Android四大组件与进程启动的关系
[October 3, 2016] Binder死亡通知机制之linkToDeath
[October 2, 2016] binderDied()过程分析
[October 1, 2016] Android系统服务的注册方式
[September 24, 2016] 理解Android线程创建流程
[September 17, 2016] Android LowMemoryKiller原理分析
[September 4, 2016] 彻底理解Android Binder通信架构
[September 3, 2016] Binder子系统之调试分析(三)
[August 28, 2016] Binder子系统之调试分析(二)
[August 27, 2016] Binder子系统之调试分析(一)
[August 21, 2016] AndroidStudio内存工具
[August 20, 2016] AndroidStudio常用快捷键
[August 13, 2016] AndroidStudio源码开发环境搭建
[August 7, 2016] Android进程调度之adj算法
[July 30, 2016] 理解ContentProvider原理
[July 23, 2016] Android存储系统之架构篇
[July 17, 2016] Android存储系统之源码篇
[July 9, 2016] Android重启流程(一)
[July 2, 2016] 理解Android ANR的触发原理
[June 25, 2016] 理解Native Crash处理流程
[June 24, 2016] 理解Android Crash处理流程
[June 21, 2016] WatchDog工作原理
[June 20, 2016] 简单聊一聊Throwable
[June 19, 2016] Android系统稳定性简述
[June 15, 2016] debuggerd守护进程
[June 12, 2016] DropBoxManager启动篇
[June 11, 2016] 调试系列2:bugreport实战篇
[June 10, 2016] 调试系列1:bugreport源码篇
[June 4, 2016] Android Broadcast广播机制分析
[May 28, 2016] Android JNI原理分析
[May 21, 2016] Linux系统调用(syscall)原理
[May 15, 2016] Android EventLog含义
[May 14, 2016] dumpsys命令用法
[May 3, 2016] ContentProvider引用计数
[May 2, 2016] unbindService流程分析
[May 1, 2016] bindService启动过程分析
[April 24, 2016] 如何自学Android
[April 23, 2016] AMS杀进程场景之汇总
[April 16, 2016] 理解杀进程的实现原理
[April 1, 2016] Linux Kernel简介
[March 26, 2016] 理解Android进程创建流程
[March 19, 2016] 理解Android编译命令
[March 18, 2016] 简述Activity生命周期
[March 12, 2016] startActivity启动过程分析
[March 6, 2016] startService启动过程分析
[March 5, 2016] Binder IPC的权限控制
[February 28, 2016] Pm命令用法
[February 27, 2016] Am命令用法
[February 21, 2016] ActivityManagerService启动过程
[February 20, 2016] Android系统启动-SystemServer下篇
[February 14, 2016] Android系统启动-SystemServer上篇
[February 13, 2016] Android系统启动-zygote篇
[February 5, 2016] Android系统启动-Init篇
[February 1, 2016] Android系统启动-综述
[January 24, 2016] Java类加载器(ClassLoader)
[January 23, 2016] Java注解(Annotation)
[January 17, 2016] 性能工具Traceview
[January 17, 2016] 性能工具Systrace
[January 16, 2016] Java线程池分析
[January 10, 2016] Android耗电统计算法
[January 3, 2016] wait、notify、sleep、interrupt对比分析
[January 2, 2016] Android内存分析命令
[January 1, 2016] Android消息机制3-Handler(实战)
[December 27, 2015] Android消息机制2-Handler(Native层)
[December 26, 2015] Android消息机制1-Handler(Java层)
[December 20, 2015] Linux信号(signal)机制
[December 19, 2015] 进程篇—进程整理
[December 12, 2015] 进程状态的切换
[December 6, 2015] select/poll/epoll对比分析
[December 5, 2015] 理解Refbase强弱引用
[November 28, 2015] Binder系列10—总结
[November 23, 2015] Binder系列9—如何使用AIDL
[November 22, 2015] Binder系列8—如何使用Binder
[November 21, 2015] Binder系列7—framework层分析
[November 15, 2015] Binder系列6—获取服务(getService)
[November 14, 2015] Binder系列5—注册服务(addService)
[November 8, 2015] Binder系列4—获取ServiceManager
[November 7, 2015] Binder系列3—启动ServiceManager
[November 2, 2015] Binder系列2—Binder Driver再探
[November 1, 2015] Binder系列1—Binder Driver初探
[October 31, 2015] Binder系列—开篇
[October 30, 2015] Linux内存管理
[October 26, 2015] Jvm系列5—执行子系统
[October 25, 2015] Jvm系列4—类的加载
[October 24, 2015] Jvm系列3—字节码指令
[October 18, 2015] Jvm系列2—Class文件格式
[October 17, 2015] Jvm系列1—运行时内存结构
[October 11, 2015] ps进程命令
[October 3, 2015] Dalvik与ART虚拟机的GC调试日志
[October 1, 2015] Android进程生命周期与ADJ
[October 1, 2015] 进程优先级
[September 26, 2015] APP优化小建议
[September 20, 2015] Android Launcher源码
[September 19, 2015] Android事件分发机制
[September 18, 2015] adb连接不上手机的解决方法
[September 13, 2015] grep && find命令用法
[September 6, 2015] 源码解读Android属性动画
[September 5, 2015] Android动画插值器
[September 4, 2015] Android三种动画实现
[September 2, 2015] Android中的dp、sp与px换算关系
[August 30, 2015] 数组遍历的性能分析
[August 22, 2015] dumpsys原理简介
[August 10, 2015] Android开发规范
[August 1, 2015] Android体系架构
[July 26, 2015] Java中的条件编译
[July 18, 2015] 理解Java反射机制
[July 5, 2015] 设计模式-开篇
[June 28, 2015] ADB常用命令笔记
[June 27, 2015] Git常用命令
[June 21, 2015] 浅谈HTTP RESTful
[June 20, 2015] 浅谈HTTP协议
[June 13, 2015] SELinux 权限问题
[June 9, 2015] Atom编辑器
[June 7, 2015] 搭建Jekyll本地写作环境
[June 6, 2015] Markdown笔记
[May 31, 2015] Activity与Service生命周期
[January 5, 2014] 5.5 探究Binder Driver
[January 4, 2014] 5.4 查询服务
[January 3, 2014] 5.3 注册服务
[January 2, 2014] 5.2 ServiceManager管家
[January 1, 2014] 5.1 Binder概述