如何阅读android的framework层源码

如何阅读framework层源码

我们先提出4个问题来分解“如何阅读framework层源码”这个问题

  1. 源码从哪里可以看到?
  2. 阅读源码需要哪些基础?
  3. 阅读源码需要哪些工具?
  4. 如何有效地阅读源码?

一、源码从哪里可以看到?

阅读源码可以通过在线阅读和离线阅读两种方式

在线阅读

  1. https://www.androidos.net.cn/
  2. http://androidxref.com/

离线阅读

  1. 百度云下载地址:链接:https://pan.baidu.com/s/1EIF0UFu-3afET5MUKITBZA 提取码:6651
  2. https://source.android.google.cn/

二、阅读源码需要哪些基础?

阅读源码需要四大基础:Android体系架构、Android系统启动过程、Binder、Binder之AIDL

Android体系架构

在android体系架构中,最底层是Linux Kernel,再往上是Library,再往上是framwork,再往上是我们熟悉的应用层 application

如何阅读android的framework层源码_第1张图片

Android系统启动过程

如何阅读android的framework层源码_第2张图片

Binder

binder在网上可以搜索到很多文档,此处不再赘述

AIDL

如何阅读android的framework层源码_第3张图片

三、离线阅读源码需要哪些工具

  1. Windows上建议 Source insight
  2. Mac上建议Sublime

四、如何有效地阅读源码

因为源码复杂度比较高,如果没有有效的思路,将会迷失在代码的汪洋大海中,这里提三个建议

  1. 有目的性的去阅读,比如我们要阅读ams的startActivity的启动过程、ClassLoader的loadClass过程等
  2. 画出类图(如下所示,画图工具建议visio或者在线画图https://processon.com)
  3. 画出调用时序图(如下所示,画图工具建议visio或者在线画图https://processon.com)
    如何阅读android的framework层源码_第4张图片

如何阅读android的framework层源码_第5张图片

你可能感兴趣的:(android,源码,framework)