Read Source Code
文章平均质量分 82
Red_Dragon_
加油(ง •̀_•́)ง
展开
-
如何查看uburtu下编译过的android源码版本信息
surootfind -name build.prop./Desktop/android6/mydroid/out/target/product/generic/system/build.prop./Desktop/android6/mydroid/out/target/product/generic/obj/ETC/system_build_prop_intermediates/buil原创 2017-07-26 17:28:36 · 533 阅读 · 0 评论 -
ActivityThread分析—ActivityThread的main方法的执行流程分析
前言前面我们分析了ActivityThread的main方法是如何被调用的,本篇我们来分析ActivityThread的main方法内的流程。代码分析frameworks\base\core\java\android\app\ActivityThread.java#main() public static final void main(String[] arg...原创 2018-07-16 11:16:10 · 3109 阅读 · 1 评论 -
View绘制流程—performResumeActivity—>performTraversals
前言我们知道AMS启动一个APP(Launcher——>AMS—>MyAPP)会创建ActivityThread。也就是ActivityThread是一个App的真正入口,分析View的绘制流程,我们肯定是以ActivityThread为起点来分析。然后抵达一个方法performTraversals。这个方法是ViewRoot内的一个方法,也是View绘制的真实起点。我原创 2018-07-23 15:11:59 · 1120 阅读 · 0 评论 -
retrofit 源码解读
Thankshttps://www.jianshu.com/p/0c055ad46b6c 刘望舒:http://liuwangshu.cn/application/network/11-retrofit2-sourcecode.htmlhttps://blog.piasy.com/2016/07/11/Understand-OkHttp/原创 2018-07-05 15:52:16 · 297 阅读 · 0 评论 -
ActivityThread分析—ActivityThread的main方法是如何被调用的
前言我们都知道ActivityThread这个类是app程序的入口,本文为了证明这一点,因Launcher亦是一个Activity,且我们之前也对Launcher启动流程做过一定的分析,SO,本文以它为支点,展开对于ActivityThread的学习。本文的目的只分析到main方法的调用处,而main方法中式如何进行初始化的将另开一篇,另外,有错误请直接指出。参考:Launcher启动...原创 2018-07-12 12:18:39 · 6482 阅读 · 0 评论 -
Launcher启动流程及初始化
前言前面我们学习了SystemServer的启动流程,也了解了AMS是如何启动起来并通过Binder注册到ServiceManger内的,OK,本文基于这俩篇基础继续来学习Launcher。Launcher是如何启动起来的Launcher启动起来之后自身的流程是怎样初始化的PS:本文的流程分析基于android_2.3.7,高版本的源码和本篇文章流程分析略有出入,请注意自己当前源...原创 2018-06-25 17:23:19 · 6842 阅读 · 2 评论 -
如何进入uburtu的su模式(#)
默认root密码是随机的,即每次开机都有一个新的root密码。我们可以在终端输入命令 sudo passwd,然后输入当前用户的密码,enter。原创 2017-07-26 17:29:38 · 829 阅读 · 0 评论 -
Windows下Android源码下载
前言每一年这个看源码的花样都在变,我记得前两年我下源码的时候还没这么多事,现在看个源码还得整整python了。本文基于文末的博客学习而来,环境win10,侧重点在于此过程中python爬的坑。本文不包含编译和查看环节,只教如何下载一个你想要的版本的源码到本地,下载好了怎么看,还需要你自己去摸索安装Git略,玩Android的Git还是得会把。git bash clone...原创 2018-05-06 09:57:38 · 1680 阅读 · 0 评论 -
源码角度看Android事件分发机制
所谓点击事件分发,其实就是对MotionEvent分发。当一个MotionEvent产生了以后,系统需要把这个事件传递给一个具体的View,而这个传递的过程就是分发过程。原创 2018-09-28 16:49:52 · 431 阅读 · 0 评论 -
Android Handler 消息机制
Handler,MessageQueue,Looper 三者的初始化。这是Handler构造函数,当我们new一个Handler,Looper和MessageQueue就跟着初始化了。Looper:Looper myLooper() / Looper prepare()可以看到Looper是通过sThreadLocal.get()去拿这个对象,ThreadLocal是一个以线程为作...原创 2018-05-07 17:41:31 · 281 阅读 · 0 评论 -
Android IPC—Android Studio 3.0下编写AIDL
期望效果俩app(也就是俩进程的意思),分别为client和server(模拟binder C/S架构),server端提供的服务为一个加法计算的服务(方便理解,从最简单的入手),client端本地通过aidl远程去访问server端的服务,并得到计算结果。先建俩工程写Server端1.展开server项目目录 2.创建CalcAidl.aidl:鼠标右击src文件夹...原创 2018-06-08 15:03:53 · 707 阅读 · 0 评论 -
SystemServer的启动过程
了解SystemManger之前,我们知道Android系统是基于Linux内核的,而在Linux系统中,所有的进程都是init进程的子孙进程,也就是说,所有的进程都是直接或者间接地由init进程fork出来的。Zygote进程也不例外,它是在系统启动的过程,由init进程创建的。在系统启动脚本system/core/rootdir/init.rc文件中。系统启动时init进程会创建Zyg...原创 2018-06-08 16:41:21 · 2628 阅读 · 2 评论 -
Binder—从Ams注册到ServiceManager的角度来观察Binder的运行机制
目标通过观察AMS和ServiceManager的交互来分析Binder的源代码。本文主要追的是Ams诞生出来之后通过SystemServer注册的ServiceManager这条线。并在此过程中重点学习Binder。建议阅读以下文章: SystemServer的启动过程:https://blog.csdn.net/user11223344abc/article/details/8062...原创 2018-06-12 14:02:54 · 1515 阅读 · 0 评论 -
View绘制流程—performTraversals的后续逻辑
前言我们知道View绘制流程是在performTraversals()这个方法内展开的(perdormDraw(),perdormMeasure(),perdormLayout()),之前我们分析过app是如何抵达performTraversals这个方法的(见:https://blog.csdn.net/user11223344abc/article/details/81168087)那么此...原创 2018-09-19 16:37:03 · 521 阅读 · 0 评论