前言:

这篇文章本来是2016年规划的目标,如今已经2022年了,6年过去了。目录当中,有的知识点已经十分的透彻了,有的知识点却仍然处于学习的阶段,希望有朝一日,能够把一个安卓开发(包含安卓架构)所需要的所有知识点全部补齐。

首先分为以下的大类,每个大类下面再有详细的文章一一讲解,文章有可能我写的,有可能是找到的写的比较好的文章。

每篇文章我也会标注适合什么样的受众群体阅读,方便读者,当然,标注只是一个参数值,如果觉得自己能力足够,完全可以越级阅读。

大类如下:

0.准备工作

1.Handler

2.View绘制

3.事件分发流程

4.异常机制

5.启动流程

6.类加载机制

目录清单:

零.准备工作

阅读android中frameworks层代码的几种方式

一.Handler机制

为什么把handler放到第一位?因为我觉得这是学习其它任何知识点一个基础。安卓中,大量的功能都是基于handler的方式来实现的。

android源码学习-Handler机制及其六个核心点   //适合1-8年,讲的很细致,这是基础。

android源码学习-Looper机制    //我早年的作品,写的不好,不建议阅读,建议直接阅读上面那篇

安卓中MessageQueue能否被替换为BlockQueue? //适合3年以上的,handler的扩展知识点

二.View绘制

View绘制流程1-View与Window的关系   //1-3年,最初的概念

View绘制流程2-安卓是如何执行measure/layout/draw三个绘制流程 //2-5年,稍微进阶一些的知识点

View绘制流程-Vsync信号是如何发送和接受的_失落夏天的博客-CSDN博客 //5年以上,涉及到APP和SurfaceFlinger通信的完整流程

android源码学习-Toast实现原理讲解 //3-5年,对你解决一些Toast的问题会有很大帮助

Android画面显示流程分析(1) //8年以上,View绘制的最底层实现,直到硬件层的展示。努比亚技术团队的文章

不推荐的部分:

android源码学习-View如何显示到屏幕上_失落夏天的博客-CSDN博客 //早年作品,不推荐

三.事件分发流程

android源码-事件分发处理机制(上)- java层事件分发流程

android源码-事件分发处理机制(下)-从信号源输入到处理完成的完整源码解读

四.异常机制

android源码学习-android异常处理机制

android中ANR触发机制解析(上)-java层触发原理        //显示无响应弹框的简单方案

android中ANR机制解析(下)-完整触发流程和日志讲解   //极为推荐

五.启动流程

android源码学习- APP启动流程(android12源码)

android中AMS通知Zygote去fork进程为什么使用socket而不使用binder?

android源码学习-activity启动流程(android8.0源码)_失落夏天的博客-CSDN博客

六.类加载机制

BaseDexClassLoader的正确使用方式_失落夏天的博客-CSDN博客

其它-新版本特性

每个android版本的适配:

android新版本适配-android12最全适配方案_失落夏天的博客-CSDN博客

android新版本适配-android13最全适配方案_失落夏天的博客-CSDN博客

android源码学习-源码学习目录推荐相关推荐

  1. Android系统源码学习——源码目录结构介绍

    2019独角兽企业重金招聘Python工程师标准>>> Android 4.0源码目录结构: 本文介绍Android源码目录结构,以便读者理清Android编译系统核心代码在Andr ...

  2. android 三方_面试官送你一份Android热门三方库源码面试宝典及学习笔记

    前言 众所周知,优秀源码的阅读与理解是最能提升自身功力的途径,如果想要成为一名优秀的Android工程师,那么Android中优秀三方库源码的分析和理解则是必备技能.就拿比较热门的图片加载框架Glid ...

  3. vue 源码学习(一) 目录结构和构建过程简介

    Flow vue框架使用了Flow作为类型检查,来保证项目的可读性和维护性.vue.js的主目录下有Flow的配置.flowconfig文件,还有flow目录,指定了各种自定义类型. 在学习源码前可以 ...

  4. vue 源码学习(一) 目录结构和构建过程简介 1

    Flow vue框架使用了Flow作为类型检查,来保证项目的可读性和维护性.vue.js的主目录下有Flow的配置.flowconfig文件,还有flow目录,指定了各种自定义类型. 在学习源码前可以 ...

  5. Android 8.0.0-r4源码目录结构详解

    Android的移植按如下流程: (1)android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来. (2)正确挂载文件系统,确保内核启动参数和 android 源代码 syste ...

  6. 【Faster R-CNN论文精度系列】从Faster R-CNN源码中,我们“学习”到了什么?

    [Faster R-CNN论文精度系列] (如下为建议阅读顺序) 1[Faster R-CNN论文精度系列]从Faster R-CNN源码中,我们"学习"到了什么? 2[Faste ...

  7. [附源码]计算机毕业设计JAVA学习资源共享与在线学习系统

    [附源码]计算机毕业设计JAVA学习资源共享与在线学习系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe ...

  8. [附源码]java毕业设计在线学习网站的设计与实现

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  9. 嵌入式之uboot源码分析-启动第二阶段学习笔记(下篇)

    接上部分---->嵌入式之uboot源码分析-启动第二阶段学习笔记(上篇) 注:如下内容来自朱老师物联网大讲堂uboot课件 3.2.14 CFG_NO_FLASH (1)虽然NandFlash ...

  10. Spring源码深度解析(郝佳)-学习-源码解析-创建AOP静态代理实现(八)

    继上一篇博客,我们继续来分析下面示例的 Spring 静态代理源码实现. 静态 AOP使用示例 加载时织入(Load -Time WEaving,LTW) 指的是在虚拟机载入字节码时动态织入 Aspe ...

最新文章

  1. Android中的eventBus传值
  2. stl 之 copy copy_backward
  3. 乙肝相关药物服用信息汇总
  4. clion的project区的字体以及自动排版的快捷键修改
  5. PreparedStatement预编译的sql执行对象
  6. esb 和 开源esb_如果今天完成,ESB会是什么样子?
  7. 信息安全工程师笔记-RSA密码
  8. DateTime 格式相比较,timestampdiff() 函数的运用
  9. c语言中文本作图,C语言绘图问题
  10. Python继承范例
  11. 昌邑机器人_昌邑四轴CNC加工齿模长沙四轴CNC加工精鑫精密
  12. jquery完善的处理机制
  13. Informix ODBC 设置
  14. 阿里是怎么做全链路压测的?
  15. 分析思维模型:SPACE 矩阵
  16. 爬虫基本库之request
  17. Java 证书 数字签名_JAVA 给PDF添加数字签名
  18. word标题编号消失解决
  19. 万字报告!一文看懂全球车厂的技术家底模块化平台
  20. 互联网校招求职经历记录

热门文章

  1. linux 备份到云存储空间,Ubuntu 使用教程- 自动备份Ubuntu 14.04到Box云存储上
  2. 10.31课程.this指向
  3. python做单因素方差分析
  4. 饮冰三年-人工智能-Python-11之HelloWorld
  5. Go指南练习_Reader
  6. Java 线程池(ThreadPoolExecutor)原理解析
  7. [转]CxImage使用指南
  8. 引用一个falsh使它显示出来
  9. objective-c 汇编语言,Objective-C和C的区别?
  10. php并发访问排队_使用xdebug对php做性能分析调优