前言这段时间忙到没时间学新东西都有点心有余而力不足想着抽空补补课于是重读了Framework源码。因为Framework源码太重要了像掉帧监控、函数插装、慢函数检测、ANR 监控、启动监控等都需要对 Framework 有比较深入的了解才能知道怎么去做监控利用什么机制去监控函数插桩插到哪里反射调用该反射哪个类哪个方法哪个属性…Framework 作为Android框架层为 App提供了众多API去调用但是很多机制都是Framework包装好了给App来用的如果不知道这些机制的原理那么很难去在这基础上做优化。但是Framework源码非常庞大但设计很精妙。纵向分层横向模块化分分钟就想放弃。后来硬着头皮总结才慢慢找到了方法。不论是看书看博客你的最终目的只有一个「学会看源码」而不是「学会源码」。关于如何阅读源码这不是一个简单的问题分享几点经验。老司机经验分享选一个小的主题你感兴趣的平时有积累的主题然后先看Android文档里相关主题的设计资料再引申到网上看看别人的分析资料。一定要用非度娘的搜索引擎找英文资料。其次需要对C/JAVA的语言特性比较熟悉。Android里面的代码还是比较紧跟语言标准的。Android 10/11 里面已经使用C14的特性不了解C14的标准很多Framework代码都不容易看懂。第三要会用好的分析工具。不管是能生成交叉引用的IDE环境还是UML工具一定要用工具记录和整理自己最新的理解。Android Framework每个子模块都有一个团队开发里面已经复杂到一个人不可能记住所有的细节。所以必须使用工具并且善于工具。最后分析Android Framework还需要耐心和坚持明白自己想要什么。刚开始分析的时候无门而入真的很迷茫时间久了才会有感觉。为什么一定要学以前你只要了解四大组件、视图、网络请求你就能拿到一份薪资丰厚的offer如果你精通Java基础、知道如何处理OOM、组件生命周期原理、熟悉Android源码、架构体系进阿里腾讯可能都很轻松。现在面试是越来越难了别说阿里、头条、腾讯等大厂就连很多中小型公司面试问的都是原理。为了帮助大家深入理解Framework源码分享给大家一份知乎高赞的笔记《Android Framework精编内核解析》。本笔记讲解了Framework的主要模块从环境的部署到技术的应用再到项目实战让我们不仅是学习框架技术的使用而且可以学习到使用架构如何解决实际的问题由浅入深详细解析Framework让你简单高效学完这块知识第一章深入解析BinderBinder机制作为进程间通信的一种手段基本上贯穿了andorid框架层的全部。所以首先必须要搞懂的Android Binder的基本通信机制。本章知识点Binder 系列—开篇Binder Driver 初探Binder Driver 再探Binder 启动 ServiceManager获取 ServiceManager注册服务(addService)获取服务(getService)Framework 层分析如何使用 Binder如何使用 AIDLBinder 总结Binder 面试题全解析……第二章深入解析Handler本章先宏观理论分析与 Message 源码分析再到MessageQueue 的源码分析Looper 的源码分析handler 的源码分析Handler 机制实现原理总结。最后还整理Handler 所有面试题大全解析。第三章Dalvik VM 进程系统Andorid系统启动、init 进程、Zygote、SystemServer启动流程、 应用程序的创建使用Activity的创建、销毁 Handler和Looper。第四章 深入解析 WMS窗口管理框架 系统动画框架 View的工作原理。第五章 PackagerManagerService包管理服务资源管理相关类由于篇幅限制这里只能展示部分内容朋友们如果需要这份完整版的PDF资料合集微信扫描下方CSDN官方二维码【免费获取】。Android开发之路并不简单我们要学的东西不仅仅只有表面的技术还要深入底层弄明白下面的原理只有这样我们才能够提高自己的竞争力在当今这个竞争激烈的世界里立足才能突破瓶颈走的更长更远