正所谓知其然知其所以然,API 只是 Android 开发的一部分,底层的实现庞大而又复杂,不用心去读源码很难将知识点深入理解。也正是因为如此,所以现在很多大厂在招聘的时候,都会将Framework作为一个重要的要求点。
![字节与腾讯招聘截图]
(https://img-blog.csdnimg.cn/img_convert/51b31f68fb0272e1de024a83eb3e985e.png)
如何学习Framework
既然Framework这么重要,那我们该如何学习呢?
关于如何学习Android Framework开发知识,最近小编在GitHub上找到一份腾讯T5大佬整理的,已标星81.6k的Android Framework开发笔记,今天拿出来分享给大家,需要的伙伴麻烦点赞+任意评论1后获取领取方式!
。
本笔记主要讲解了Framework的主要模块:
第一章: 深入解析Binder
Binder机制作为进程间通信的一种手段,基本上贯穿了andorid框架层的全部。所以首先必须要搞懂的Android Binder的基本通信机制。
本章知识点
-
Binder 系列—开篇
-
Binder Driver 初探
-
Binder Driver 再探
-
Binder 启动 ServiceManager
-
获取 ServiceManager
-
注册服务(addService)
-
获取服务(getService)
-
Framework 层分析
-
如何使用 Binder
-
如何使用 AIDL
-
Binder 总结
-
Binder 面试题全解析
第二章: 深入解析Handler
相信大家都有这样的感受:网上分析 Handler 机制原理的文章那么多, 为啥还要画蛇添足整理这份笔记呢?不是说前人们写的文章不好,我就是觉得他们写的不细, 有些点不讲清楚,逻辑很难通顺的,每次我学个什么东西时遇到这种情况都贼难受。
本章先宏观理论分析与 Message 源码分析,再到MessageQueue 的源码分析,Looper 的源码分析,handler 的源码分析,Handler 机制实现原理总结。最后还整理Handler 所有面试题大全解析。
Handler这章内容很长,但思路是循序渐进的,如果你能坚持读完我相信肯定不会让你失望。
第三章: Dalvik VM 进程系统
Andorid系统启动、init 进程、Zygote、SystemServer启动流程、 应用程序的创建使用,Activity的创建、销毁 Handler和Looper。
第四章深入解析 WMS
窗口管理框架 系统动画框架 View的工作原理。
第五块 PackagerManagerService
包管理服务。 资源管理相关类
Framework的学习4个技巧
-
看不懂的多读。 没有人能一学就会,特别是对于初学者,你刚看系统源码,肯定一头雾水。万事开头难,在你觉得艰深晦涩的时候,你就当在背课文。Android Framework的代码是遵循一定规范的,你在背了一篇课文之后,再去读别的课文,读到一半的时候就算你看不懂,很有可能你就会知道下面要讲什么了,虽然下面要讲的你也不懂。背熟了之后,你就可以想每一句是什么意思了。而这里面的「段落」、「句子」不就是普通的代码吗?就这样,一步一步串联起来,聚沙成塔,积少成多,就水到渠成了。「书读百遍,其义自现」讲的就是这道理。如果你真的想要学习Framework,一定要多读,硬着头皮读,不要放弃。
-
不重要的少读。 看不懂的很容易知道是什么,那么怎么知道哪些代码是不重要的呢?这里有两层意思:
其一: 强调的是大局观,在初学习一个模块的时候,你需要先把握整体,再了解局部。这个场景下,所有的细节都是不重要的。
其二: 那些真正不重要的逻辑。你刚学习的时候肯定没有办法知道哪些是影响不大的逻辑,所以你可以跟着上面整理的笔记去学习,让前人带路。如果跟着它们的脚步走通了这条路,那你就自己独立走一遍,这时候你肯定会走丢,然后你跟踪、尝试,接着到达终点。这时候你自然就知道,哪些重要,哪些不重要。
最后
小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
如果你需要这些资料, ⬅ 专栏获取
面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
如果你需要这些资料, ⬅ 专栏获取