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