archive

Blogs


[August 12, 2017] /proc/stat解析

[August 6, 2017] Linux进程pid分配法

[August 5, 2017] Linux进程管理(二)

[July 30, 2017] Linux进程管理(一)

[July 11, 2017] Android调试技巧(一)

[July 4, 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] ART虚拟机之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 20, 2016] 搭建Android 7.0的源码环境

[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 13, 2016] Android Studio导入Android系统源码笔记

[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 9, 2016] Jvm内存模型

[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系列4—执行子系统

[October 25, 2015] Jvm系列3—类的加载

[October 24, 2015] Jvm系列2—字节码指令

[October 17, 2015] Jvm系列1—Class文件格式

[October 11, 2015] ps进程命令

[October 10, 2015] Android Studio 内存工具

[October 3, 2015] Dalvik与ART的GC调试

[October 1, 2015] Android进程生命周期与ADJ

[October 1, 2015] 进程优先级

[September 26, 2015] APP优化(一)

[September 20, 2015] Android Launcher 1

[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 4, 2015] Android动画之入门篇(一)

[September 2, 2015] Android多屏适配

[August 30, 2015] 数组遍历的性能分析

[August 22, 2015] dumpsys原理简介

[August 10, 2015] Android开发规范

[August 8, 2015] Android Studio 快捷键

[August 1, 2015] Android体系架构

[July 26, 2015] Java中的条件编译

[July 19, 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] Windows下搭建本地Jekyll

[June 6, 2015] Markdown个人笔记

[May 31, 2015] Activity与Service生命周期