知乎千赞:字节跳动整理Android开发Framework笔记

710 阅读3分钟

为什么要学Android Framework

![知乎千赞:字节跳动整理Android Framework笔记](https://p6-tt.byteimg.com/origin/dfic-imagehandler/1691c865-a831-4070-88c2-2a17f915aa3c?from=pc)

Android Framework 的知识有多重要,其广泛的应用在各个领域。像掉帧监控,函数插装,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解,才能知道怎么去做监控,利用什么机制去监控,函数插桩插到哪里,反射调用该反射哪个类哪个方法哪个属性……

另外 Framework 作为 Android 框架层,为 App 提供了众多 API 去调用 ,但是很多机制都是 Framework 包装好了给 App 来用的,如果不知道这些机制的原理,那么很难去在这基础上做优化。

举个例子,如果你了解 Android App 的启动机制,优化启动速度的时候会更得心应手:定制什么样的 StartingWindow;什么时候可以拿到图片的宽高;DelayLoad 怎么做才会更合适;Service 什么时候启动可以不影响启动速度;Activity onResume 回调的时候真的可见了么?Redex 为什么会加快应用启动速度?

再比如我们经常说的 Handler,MessageQueue,Looper。看源码你就可以更好的理解那些概念:ThreadLocal 做什么的;Thread 和 Handler 的关系;为什么不能在子线程更新 UI?

还有很多栗子,这里就不一一论述学习Android Framework的重要性了。

![知乎千赞:字节跳动整理Android Framework笔记](https://p6-tt.byteimg.com/origin/pgc-image/6185d420be324b33b308f0485537d230?from=pc)

如何学习Android Framework

既然Framework这么重要,那我们该如何学习呢?

关于如何学习Android Framework开发知识,最近小编有幸在字节跳动总监手里扒到这份Android framework高级开发笔记,部分知识章节发布到了在知乎上竟然1716个点赞,今天就拿出来分享给大家。

本笔记主要讲解了Framework的主要模块:

![知乎千赞:字节跳动整理Android Framework笔记](https://p1-tt.byteimg.com/origin/pgc-image/78404a6ff4fe41ecbf3a73599e0aa61e?from=pc)

Android Framework开发笔记目录

第一章: 深入解析Binder
Binder机制作为进程间通信的一种手段,基本上贯穿了andorid框架层的全部。所以首先必须要搞懂的Android Binder的基本通信机制。
本章知识点

  • Binder 系列—开篇
  • Binder Driver 初探
  • Binder Driver 再探
  • Binder 启动 ServiceManager
  • 获取 ServiceManager
  • 注册服务(addService)
  • 获取服务(getService)
  • Framework 层分析
  • 如何使用 Binder
  • 如何使用 AIDL
  • Binder 总结
  • Binder 面试题全解析
![知乎千赞:字节跳动整理Android Framework笔记](https://p3-tt.byteimg.com/origin/pgc-image/0dac3f0fa4a24f948f9901f0e0d8e12a?from=pc)

Binder使用

![知乎千赞:字节跳动整理Android Framework笔记](https://p3-tt.byteimg.com/origin/pgc-image/cb7ddb4c373948f799760fa4d3401584?from=pc)

Binder面试题解析

第二章: 深入解析Handler
相信大家都有这样的感受:网上分析 Handler 机制原理的文章那么多, 为啥还要画蛇添足整理这份笔记呢?不是说前人们写的文章不好,我就是觉得他们写的不细, 有些点不讲清楚,逻辑很难通顺的,每次我学个什么东西时遇到这种情况都贼难受。

本章先宏观理论分析与 Message 源码分析,再到MessageQueue 的源码分析,Looper 的源码分析,handler 的源码分析,Handler 机制实现原理总结。最后还整理Handler 所有面试题大全解析。

Handler这章内容很长,但思路是循序渐进的,如果你能坚持读完我相信肯定不会让你失望。

![知乎千赞:字节跳动整理Android Framework笔记](https://p3-tt.byteimg.com/origin/pgc-image/8f3f9702ff85466d94e41c59426da550?from=pc)

Handler开发学习笔记

第三章: Dalvik VM 进程系统

Andorid系统启动、init 进程、Zygote、SystemServer启动流程、 应用程序的创建使用,Activity的创建、销毁 Handler和Looper。

![知乎千赞:字节跳动整理Android Framework笔记](https://p1-tt.byteimg.com/origin/pgc-image/7d438d3585584c008257127d92100655?from=pc)

Andorid系统启动开发笔记

第四章深入解析 WMS

窗口管理框架 系统动画框架 View的工作原理。

![知乎千赞:字节跳动整理Android Framework笔记](https://p3-tt.byteimg.com/origin/pgc-image/0df36899c29e42e29dc9d9bcf64bd727?from=pc)

深入解析 WMS开发笔记

第五块 PackagerManagerService

包管理服务。 资源管理相关类

![知乎千赞:字节跳动整理Android Framework笔记](https://p3-tt.byteimg.com/origin/pgc-image/be59b34021c2475b9aa7c6fdfc6d8559?from=pc)

现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套【Android进阶学习视频】、【全套Android面试秘籍】、【Android知识点PDF】。如有需要获取资料文档的朋友,可以点击我的GitHub免费获取