前言
读源码的重要性不言而喻,往深了说是提高自己的技术。往浅了说,对面试和项目开发也有很大的作用。
就目前各个公司对Android开发的需求,稍微大一些的公司在面试时,都会涉及到不少源码界别的问题。如果没读过或者没理解源码,就算过了面试也要不起薪资。
而在项目中,虽然我们能CV,但有没有理解源码,在开发效率上是云泥之别。开源框架在开发的时候,是不可能考虑到每个场景的,这也就导致套用后有可能会出问题,而这种问题往往是十分罕见的,也许你各种百度、谷歌、翻博客,也得不到解答。如果读懂了源码的话,就能迅速定位到问题所在,轻松拿出解决方案。
当然,读源码并不是一件简单的事情。难在哪里?因为读源码不是简单的把源码看一遍,而是要去了解为什么这么写?这样写的目的是什么?为什么不那样写?
而要自发地思考这些问题是很难的,这不仅需要技术水平的高低,还需要对这个框架“历史”的理解,以及理解代码的深度。
为此给大家分享这份源码笔记——《Android Framework源码开发揭秘》,总共有19万字,包含109个知识点,通过经典Binder、Handler、AMS等源码解析加深你对Android Framework框架层的理解。并结合实际项目,从需求出发,帮你了解源码的原理。跟着这份笔记去读源码,不仅能提高读源码的效率,还能从大神们的角度看源码。
《Android Framework源码开发揭秘》
第一章 系统启动流程分析
- 第一节 Android启动概括
- 第二节 init.rc解析
- 第三节 Zygote
- 第四节 面试题
第二章 跨进程通信IPC解析
- 第一节 Service还可以这么理解
- 第二节 Binder基础
- 第三节 Binder应用
- 第四节 AIDL应用(上)
- 第五节 AIDL应用(下)
- 第六节 Messenger原理及应用
- 第七节 服务端回调
- 第八节 获取服务(IBinder)
- 第九节 Binder面试题全解析
第三章 Handler源码解析
- 第一节 源码分析
- 第二节 难点问题
- 第三节 Handler常问面试题
第四章 AMS源码解析
- 第一节 引言
- 第二节 Android架构
- 第三节 通信方式
- 第四节 系统启动系列
- 第五节 AMS
- 第六节 AMS面试题解析
第五章 WMS源码解析
- 第一节 WMS与activity启动流程
- 第二节 WMS绘制原理
- 第三节 WMS角色与实例化过程
- 第四节 WMS工作原理
第六章 Surface源码解析
- 第一节 创建流程及软硬件绘制
- 第二节 双缓冲及Surface View解析
- 第三节 Android图形系统综述
第七章 基于Android12.0的SurfaceFlinger源码解析
- 第一节 应用建立和SurfaceFlinger的沟通桥梁
- 第二节 SurfaceFlinger的启动和消息队列处理机制
- 第三节 SurfaceFlinger之VSyns(上)
- 第四节 SurfaceFlinger之VSyns(中)
- 第五节 SurfaceFlinger之VSyns(下)
第八章 PKMS源码解析
- 第一节 PKMS调用方式
- 第二节 PKMS启动过程分析
- 第三节 APK的扫描
- 第四节 APK的安装
- 第五节 PKMS之权限扫描
- 第六节 静默安装
- 第七节 requestPermissions源码流程解析
- 第八节 PKMS面试题
第九章 InputManagerService源码解析
- 第一节 Android Input输入事件处理流程(1)
- 第二节 Android Input输入事件处理流程(2)
- 第三节 Android Input输入事件处理流程(3)
第十章 DisplayManagerService源码解析
- 第一节 DisplayManagerService启动
- 第二节 DisplayAdepter和DisplayDevice的创建
- 第三节 DMS部分亮灭屏流程
- 第四节 亮度调节
- 第五节 Proximity Sensor灭屏原理
- 第六节 Logical Display和Physical Display配置的更新