frameworks/base/services/core/java/com/android/server/am/ProcessList.java platform/system/core/lmkd/lmkd.c ker…
标签:Gityuan
Binder子系统之调试分析(三)
一. binder调试信息 1.1 binder_thread 调用方法:print_binder_thread thread 8980: l 12 //tid=8980,looper=12 关于looper状态值: B…
彻底理解Android Binder通信架构
基于Android 6.0的源码剖析, 本文深度剖析Binder IPC过程, 这绝对是一篇匠心巨作,从Java framework到Native,再到Linux Kernel,带你全程看Binder通信过程. 一. 引…
Binder子系统之调试分析(二)
一. 节点创建 上一篇文章已经介绍了binder子系统调试的一些手段,这篇文章再来挑选系统几个核心服务进程来进行分析. 1.1 内核编译选项 如果系统关闭了debugfs,则通过编辑kernel/arch/arm/con…
AndroidStudio内存工具
引言 Android Studio提供了强大的分析功能,关于内存分析工具包含: Memory Monitor Heap Viewer Allocation Tracker 接下来,简单介绍一下使用 1. Memory M…
AndroidStudio常用快捷键
说明: 本文中的快捷键是针对Linux环境,且Keymaps为default情况下的映射关系。不同系统对应不同快捷键是记忆负担,为此作者把MAC电脑的快捷键调整为这套Linux快捷键,设置是在Keymap项中设置。 标红…
AndroidStudio源码开发环境搭建
一. 准备 本文介绍采用Android Studio来搭建源码调试环境 1.1 下载Android Studio **调整内存大小: ** Android Studio需要大量的内存来加载Android源码,所以经常会遇…
Android进程调度之adj算法
一、概述 提到进程调度,可能大家首先想到的是Linux cpu调度算法,进程优先级之类概念,本文并不打算介绍这些内容,而是介绍Android framework层中承载activity/service/contentpr…
理解ContentProvider原理
基于Android 6.0源码剖析,本文涉及的相关源码: frameworks/base/core/java/android/app/ - ActivityThread.java - ContextImpl.java -…
Android存储系统之架构篇
基于Android 6.0的源码,剖析存储架构的设计 一、概述 本文讲述Android存储系统的架构与设计,涉及到最为核心的便是MountService和Vold这两个模块以及之间的交互。上一篇文章Android存储系统…
理解Android ANR的触发原理
一、概述 ANR(Application Not responding),是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR。…
Android重启流程(一)
framework/base/services/core/java/com/android/server/power/PowerManagerServer.java framework/base/services/cor…