这是一份全面&详细的Android Framework开发学习源码指南

共 2206字,需浏览 5分钟

 ·

2023-08-26 19:18

我想大部分有“ 如何学习Framework源码 ”这个疑问的,应该大都是应用层开发。

应用层是被Framework层调用执行的,知道自己的代码是怎么被调用的,才能理解程序的本质,理解本质有助于解决遇到的新问题,同时才有更多方法去优化应用层逻辑。 

学习Framework最大的问题,其实是没有应用场景,或者说短期来看成本高,收益底,容易半途而废。

那我们该如何学习呢? 关于如何学习Android Framework开发知识,最近小编有幸在前字节跳动总监手里扒到这份Android framework高级开发笔记,部分知识章节发布到了GitHub已经标星18k了 ,今天就拿出来分享给大家。

本笔记讲解了Framework的主要模块,共442页

7557d24e65c1acdbd3dd4e66498be381.webp

扫描下方二维码立即免费获取

第一章 系统启动流程分析

  • 第一节 Android启动概览

  • 第二节 init.rc解析

  • 第三节 Zygote

  • 第四节 面试题

eede46ea017cdb27476d6ada1b7e07b7.webp

第二章 跨进程通信IPC解析

  • 第一节 Sercice 还可以这么理解

  • 第二节 Binder基础

  • 第三节 Binder应用

  • 第四节 AIDL应用(上)

  • 第五节 AIDL应用(下)

  • 第六节 Messenger原理及应用

  • 第七节 服务端回调

  • 第八节 获取服务(IBinder)

  • 第九节 Binder面试题全解析

cfbe0f7fa9675861955f3527150e679c.webp

第三章 Handler解析

  • 第一节 源码分析

  • 第二节 难点问题

  • 第三节Handler常问面试题

b341c7f2346181228c06a746bc89e271.webp

第四章 AMS 解析

  • 第一节 引言

  • 第二节 Android架构

  • 第三节 通信方式

  • 第四节 系统启动系列

  • 第五节 AMS

  • 第六节 AMS 面试题解析

ee361ba95845b519533a43c7f7a56a2c.webp

第五章 WMS解析

  • 第一节 WMS与activity启动流程

  • 第二节 WMS绘制原理

  • 第三节 WMS角色与实例化过程

  • 第四节 WMS工作原理

6b9a0aa2aff2d3f572dd588fb3d8a1e0.webp

扫描下方二维码立即免费获取

第六章 Surface源码解析

  • 创建流程及软硬件绘制

  • 双缓冲及SurfaceView解析

  • Android图形系统综述

78c3c3b22fe57464e0161667b24b6b94.webp

第七章 基于Android12.0的SurfaceFlinger源码解析

  • 第一节 应用建立和SurfaceFlinger的沟通桥梁

  • 第二节 SurfaceFlinger的启动和消息队列处理机制

  • 第三节 SurfaceFlinger 之 VSync(上)

  • 第四节 SurfaceFlinger之VSync(中)

  • 第五节 SurfaceFlinger之VSync(下)

b839890d9e4d6ccf4c6fcfd204c0276f.webp

第八章 PKMS源码解析

  • PKMS调用方式

  • PKMS启动过程分析

  • APK的扫描

  • APK的安装

  • PKMS之权限扫描

  • 静默安装

  • requestPermissions源码流程解析

  • PKMS面试题

fc60dafb2717a8e2bfa5634c1cccc26a.webp

第九章 InputManagerService源码解析

  • Android Input输入事件处理流程(1)

  • Android Input输入事件处理流程(2)

  • Android Input输入事件处理流程(3)

1cab43649d57d3f297f5c761c700692b.webp

第十章 DisplayManagerService源码解析

  • DisplayManagerService启动

  • DisplayAdapter和DisplayDevice的创建

  • DMS部分亮灭屏流程

  • 亮度调节

  • Proximity Sensor灭屏原理

  • Logical Display和Physical Display配置的更新

0b928ae5a7cc1e3afb70f73aab3f6974.webp


扫描下方二维码立即免费获取


Android开发之路并不简单,我们要学的东西不仅仅只有表面的技术,还要深入底层,弄明白下面的原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足,才能突破瓶颈走的更长更远! 千里之行始于足下,愿你我共勉。


PS :我们还在8月22日~23日特邀了腾讯课堂Avlin和Lance老师为大家带来《如何解决应用与Framework开发不得不重视的内存性能》免费直播课,让大家深入内存泄漏自动捕获方案和线上APM内存数据Native底层转储优化方案实战演练。




浏览 85
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报