美文网首页Android技术知识
死磕 Framework准没错,大把的高薪岗位等着你~

死磕 Framework准没错,大把的高薪岗位等着你~

作者: 搬砖小老弟 | 来源:发表于2022-10-11 21:19 被阅读0次

随着互联网时代产品的不断更新,各大厂、各中小型公司的招聘需求也在不断的变更。Android 开发行业就是一个很好的例子,从最开始火爆的热门行业,现在却变成内卷最严重的行业。如果想要找份高薪的工作,你还得要对某个或多个技术板块有着深入了解,要么就是对一些新技术有着一定的了解;否则你就只配那种最低的工资,天天加班。

新技术例如:Kotlin、Jetpack、Compose……等
可以继续深挖的技术例如有:开源库原理、Framework、性能优化……等

就拿Framework 为例来说,除了通常市场上一些(小米、OPPO、美团……等)大厂需要这方面的人才外,现在热火的车企行业也在广招这方面的人才。

所以说深耕Framework 还是可以的,毕竟目前趋势在这里。

首先你得知道什么是Framework?Framework里面的内容需要学习那些?

Framework是一个架构,它是一个语言开发软件,提供了软件开发的框架,使开发更具工程性、简便性和稳定性。

下面这张图想必大家都看过,Google官方提供过一张经典的平台架构图,从下往上依次分为:Linux内核、硬件抽象层、Native层、Java Framework层、App层,每一层都包含大量的子模块或子系统。

可以看到具体app的下面就是Framework层的支撑。所以掌握Framework层非常有助于我们开发出一个性能良好的App,另外在大厂的面试过程中,Framework也是高阶面试时必问的问题。例如

  1. 为什么Zygote通信fork进程,使用的是socket,而不是Android的Binder?
  2. 为什么是从zygote进程fork App,而不是其他进程?
  3. Binder在做数据传输过程中,最大的数据量限制是多少?
  4. 打开一个Activity的过程中经历过几次跨进程调用?
  5. ANR弹框的原理是什么?
  6. ……

等等这类问题却在大厂面试中经常问到,如果有会小伙伴会这些问题的,欢迎大家在评论区留言回答。

在所有的Framework知识中,要数最重要的还是AMS,主打和Activity,Service,ContentProvider,Broadcast等交互:

看一下上图,Activity启动,涉及到ActivityThread,AMS,H类,上述过程还涉及到多次跨进程调用,涉及到各种binder的知识。
搞清楚这些:我们就可以去研究各种黑科技,例如在做插件化的时候,你需要占坑Activity等,hook代码等都是在和AMS斗智斗勇;在做性能优化的时候,你也要了解AMS是如何调度Activity的,消息队列是如何运转的,这些必须要要搞清楚。

当然大多数开发者更多的还是在做业务开发,对于Framework基本停留在“不够了解”的阶段,其中不乏一些工作多年的 Android 工程师。

如果想要精进,不仅要对底层原理充分了解,还要知道如何利用Framework知识指导我们代码实践开发,像Android App 的启动机制、AMS、PMS、WMS、Handler、Binder等...

考虑到 Framework 中所需要学习的知识点较多,想一次性全部在这讲完有点不太现实,于是对Framework 的所有知识点整理了一条完整知识路线,并将相关的知识点解析整理成了对应的学习手册,请继续往下看:

该路线共分为5大版块,分别是:Framework 通信、Framework底层服务、Framework 系统资源、Framework事件机制、Framework UI机制,在这些里面又分了许多小分支,大家可以仔细的参考看一下。针对这图中所记录的一些小知识点相关解析汇总成了一个文档形式,有需要的可以 点击直接参考↓↓↓ 学习!

有需要的可以复制下方链接,传送直达!!!
https://qr21.cn/CaZQLo?BIZ=ECOMMERCE

《Framework 核心知识点汇总手册》

Handler 机制实现原理部分
1.宏观理论分析与Message源码分析
2.MessageQueue的源码分析
3.Looper的源码分析
4.handler的源码分析
5.总结

Binder 原理

1.学习Binder前必须要了解的知识点
2.ServiceManager中的Binder机制
3.系统服务的注册过程
4.ServiceManager的启动过程
5.系统服务的获取过程
6.Java Binder的初始化
7.Java Binder中系统服务的注册过程

Zygote

  1. Android系统的启动过程及Zygote的启动过程
  2. 应用进程的启动过程

AMS源码分析

  1. Activity生命周期管理
  2. onActivityResult执行过程
  3. AMS中Activity栈管理详解

深入PMS源码

1.PMS的启动过程和执行流程
2.APK的安装和卸载源码分析
3.PMS中intent-filter的匹配架构

WMS
1.WMS的诞生
2.WMS的重要成员和Window的添加过程
3.Window的删除过程

《Android Framework学习手册》:

  1. 开机Init 进程
  2. 开机启动 Zygote 进程
  3. 开机启动 SystemServer 进程
  4. Binder 驱动
  5. AMS 的启动过程
  6. PMS 的启动过程
  7. Launcher 的启动过程
  8. Android 四大组件
  9. Android 系统服务 - Input 事件的分发过程
  10. Android 底层渲染 - 屏幕刷新机制源码分析
  11. Android 源码分析实战

有需要的可以 点击直接参考↓↓↓ 学习!

有需要的可以复制下方链接,传送直达!!!
https://qr21.cn/CaZQLo?BIZ=ECOMMERCE

作为过来人,发现很多学习者和实践者都在 Android Framework上面临着很多的困扰,比如:

  • 工作场景中遇到难题,往往只能靠盲猜和感觉,用临时性的补救措施去掩盖,看似解决了问题,但下次同样的问题又会发作,原因则是缺乏方法论、思路的指引以及工具支持
  • 能力修炼中,缺乏互联网项目这一实践环境,对Framework只能通过理论知识进行想象,无法认识其在工作实战中的真实面目和实操过程
  • 职场晋升中,只管功能开发,不了解底层原理,缺少深入地思考与总结,无法完成复杂系统设计这类高阶工作,难以在工作中大展拳脚,而有挑战的工作往往留给有准备的人。

相关文章

  • 死磕 Framework准没错,大把的高薪岗位等着你~

    随着互联网时代产品的不断更新,各大厂、各中小型公司的招聘需求也在不断的变更。Android 开发行业就是一个很好的...

  • 你为什么成不了PAPI酱?

    你要懂得等待的意义。 1、死磕。 她毕业名校、有才?这不稀奇?名校+有才,大把人在。 那她什么? 她死磕。 她20...

  • 11月复盘——既然选择了坚持,那么一件事也要死磕下去

    大家都在说磕不死那就死磕,生活总有一个选择在等着你,是选择继续,还是选择放弃,都是自己的选择。是又回到原点还是坚持...

  • 内心的挣扎

    你以为你是在死磕对手,死磕这个世界,其实你只是在死磕你自己而已。一个人最难的是对自己内心的控制

  • 《你到底在和什么死磕?》

    你以为你是在和恋人死磕到底么?错!其实很多人都在和当年的“父母”死磕。和这个世界的“现实”死磕! 什么是现实?现实...

  • “死磕”与学习

    也说“死磕” 死磕到底,死磕精神,死磕侠。互联网的发达,孕育了越来越多的网络词汇,“死磕”现在出现的频率颇高。 那...

  • 死磕的你

    莫名其妙的呆滞,死板,冷静。好像生活一切就这样过下去了,没有思想慢慢的走着,不回头,也不看向远方,只顾着脚下静静的...

  • 2018你心仪的高薪岗位

    什么工作赚钱快?做什么赚钱高?什么工作最轻松?作为一名上班族大概脑子里想的最多的问题就是这一类了吧。真是“...

  • 这些“死磕成本”的店,却因高体验卖出了惊人销量

    有些店死磕服务,有些死磕产品,还有些死磕成本。可有些品牌除了这些,还死磕别的... 无论何时,店铺的人工成本、租金...

  • 死磕与磕死

    前天晚上,打开百度网盘,准备听梁冬的节目睡睡平安,突然发现所有的音频转哪转哪,就是不出声音。到底哪里出了毛病?听听...

网友评论

    本文标题:死磕 Framework准没错,大把的高薪岗位等着你~

    本文链接:https://www.haomeiwen.com/subject/oylzartx.html