Gityuan

Keep on going never give up

[置顶]Android开篇

基于Android 6.0的源码,专注于分享Android系统原理、架构分析的原创文章,这是Android系列文章的开篇。

Input系统—进程交互

基于Android 6.0源码, 分析Input系统的进程交互过程分析InputManagerService的启动过程. 一. 概述 先简单总结和回顾以下前几篇文章的内容: Input系统—InputReader线程:通过EventHub从/dev/input节点获取事件,转换成EventEntry事件加入到InputDispatcher的mInboundQueue。 ...

Input系统—UI线程

一. 概述 前面文章都是介绍了两个线程InputReader和InputDispatcher的工作过程。在InputDispatcher的过程讲到 调用InputChanel通过socket与远程进程通信,本文便展开讲解这个socket是如何建立的。 对于InputReader和InputDispatcher都是运行在system_server进程; 用户点击的界面往往可能是某一个app...

Input系统—InputDispatcher线程

基于Android 6.0源码, 分析InputManagerService的启动过程 frameworks/base/services/core/java/com/android/server/input/InputManagerService.java frameworks/base/services/core/jni/com_android_server_input_Inpu...

Input系统—InputReader线程

基于Android 6.0源码, 分析InputManagerService的启动过程 frameworks/base/services/core/java/com/android/server/input/InputManagerService.java frameworks/base/services/core/java/com/android/server/wm/InputM...

Input系统—启动篇

基于Android 6.0源码, 分析InputManagerService的启动过程 frameworks/base/services/core/ - java/com/android/server/input/InputManagerService.java - jni/com_android_server_input_InputManagerService.cpp ...

理解Android ANR的信息收集过程

基于Android 6.0源码, 分析当发生ANR时系统的处理过程 frameworks/base/core/java/android/os/Debug.java frameworks/base/core/jni/android_os_Debug.cpp system/core/libcutils/debugger.c 一. ANR场景 无论是四大组件或者进程等只要发生AN...

Native进程之Trace原理

一. 概述 当发生ANR(Application Not Response,对于Java进程可通过kill -3向目标进程发送信号SIGNAL_QUIT, 输出相应的traces信息保存到目录/data/anr/traces.txt;而对于Native进程可通过 debuggerd输出traces信息。 可通过一条命令来获取指定Native进程的traces信息,例如输出pid=1752...

ART虚拟机之Trace原理

分析Art虚拟机的trace原理,相关源码都位于/art/runtime目录: /art/runtime/ - signal_catcher.cc - runtime.cc - intern_table.cc - thread_list.cc - java_vm_ext.cc - class_linker.cc - gc/he...

多用户管理UserManager

基于Android 6.0的源码剖析多用户模型 framework/base/services/core/java/com/android/server/pm/UserManagerService.java framework/base/core/java/android/os/UserManager.java framework/base/core/java/android/co...

Installd守护进程

基于Android 6.0的源码剖析installd的过程 system/core/rootdir/init.rc frameworks/base/cmds/installd/installd.cpp rameworks/base/cmds/installd/commands.cpp rameworks/base/cmds/installd/utils.cpp 一、 概述 ...