Framework掌握不全被面试官怼?看完这篇直接吊打面试官

Android群英传

共 1383字,需浏览 3分钟

 ·

2021-04-14 15:06

如果出去面试,针对高一点的级别,Framework 基本上会纳为必问的知识点。

你可能会困惑,Framework 我们平时开发过程中又用不到,为什么面试官喜欢问这样的问题呢?

其实不然...

考察 Framework 更多的目的是考察大家对于 Binder 的掌握。

例如说:

对于再简单的App,我们都有 Activity 吧,那么启动 Activity 背后会有哪些逻辑呢?

背后的原理至少涉及到两部分:

1. app 与 system 进程交互,通过 ActivityManagerProxy 与 ActivityManagerService 交互;
2. system 进程与 app 进程交互,通过ApplicationThread 的代理Proxy 与 ApplicationThread 交互。

这个背后都离不开 Binder 在背后的默默支撑。

又例如,在启动Activity 的时候,我们可以携带一些数据到目标 Activity,但是我们携带数据过大,会造成TransactionTooLargeException。

你可能会困惑为什么呢?

还是因为涉及到跨进程 binder 通信,在这个通信过程中对数据量的大小是有限制的。

如果你对 binder 这些细节深知,那么我们在写代码的时候就有意识可以规避掉这些细节。

当然还有一些场景,是确实要用到跨进程通信,例如一些硬件设备,我们需要跟一个内置的服务通信,比如音箱,我们需要跟系统内置语音模块通信,可能会用到 aidl,当然 aidl 帮我们省去了非常多跨进程通信的细节,不过如果你真的想掌握好 aidl,翻看源码时,又会看到 Binder 的身影。

所以,对于 Framework 的掌握是尤为必要的。

不过你可能会担心,我以前没有深入了解过 Framework,该如何下手呢?

其实在面试过程中,除了我上述的一些点,剩下的 Framework 相关的问题,基本离不开以下几个方面:

1. Android 进程启动会,Zygote 相关流程;
2. 四大组件相关逻辑,涉及到 AMS,WMS,常见的 Activity 启动,Activity 相关管理;
3. 安装包相关,涉及到 PMS,apk 是如何安装到系统上的;
4. Binder 的一些特点,例如跨进程方式那么多,为什么要用 Binder...


刚好这些方面,我们早有所准备。特别邀请了前华为、OPPO 、阿里资深架构师 David老师,为大家带来《全套Framework面试连环炮》系列直播分享,带大家一步一步解析Android 面试底层原理,挑战高薪offer。

原价298元 《全套 Framework面试连环炮》训练营,现在限时优惠只需要0.1元 即可加入学习(限量100个名额

大家手速要快,赶紧识别下方图中二维码加入学习!


报名学习后还将附赠一套系统的Android开发进阶资料,帮助大家在技术的道路上更进一步。

赶紧扫码获取资料,开启你的学习之旅!
(如遇扫码频+VX:lpyang1999


浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报