美文网首页Android技术知识
你还能在Android 开发行业支撑多久?我……

你还能在Android 开发行业支撑多久?我……

作者: 搬砖小老弟 | 来源:发表于2022-09-18 22:01 被阅读0次

今年互联网寒风好像没有停止过,从年初的开始一直持续到现在,中间也有不少大厂传出优化人员的消息,近期印象比较深的还是菊厂新闻

这杀伤力直接拉满,市场的寒气瞬间就被扩散开了,招聘门槛再度提高、毕业优化、边缘业务裁撤、HC缩减……

想必有许多小伙伴焦躁不安,时刻感觉危机会降临到自身。但对于一些有真实力的人而已并不算什么。

就拿Android 开发行业来说,初中级市场已基本处于饱和状态,而这股寒气的来袭更让开发者们头疼起来。甚至有人想问自己到底还能在这个行业待多久?是不是早点转业比好?

Android 具体还能在市场上存活多久,这是未知的,也是明天、后天、几年后就没了或者一直都在。但是只要在它存活在市面上一天,那么市场就一定会有对 Android 技术人才的需求。

如果想转行就得趁早,不然热门行业的饼就被别人先吃完了。转行方向建议:系统开发、车载开发、音视频开发、游戏开发、逆向安全、跨平台开发……,这些都是目前市场热门行业。

但如果你想继续的坚持收获在该行业,那么你就必须掌握长存法则:拥抱新技术,深挖底层,高筑技术壁垒

拥抱新技术:Kotlin/Jetpack/Compose,总要有所涉猎吧?

深挖底层:开源库原理/Framework/性能优化,总要有一个特别行吧?

就拿 Framework 知识点来说,它始终穿插在每个App的整个研发生命周期中,尤其是从1到N的阶段。不管你后面转做车载开发、还是跨平台开发等……它都有涉及到。

同时在大厂面试中,像Framework 涉及到的相关问题是必问项,还有些面试官喜欢那它去考察候选人的功底。例如

1.APP启动过程中必须处理的问题有哪些
2.如何合理的在启动阶段最优化利用CPU资源
3.AMS和WMS管理UI的流程对启动优化的意义
4.启动任务过多如何合理的组织和管理这些任务
5.APP整体设计时如何设计启动管理架构
6.Binder 线程池数量是多少?
7.Binder一次拷贝原理?
8.Binder线程池满了为什么会造成ANR
9.……

如何才能掌握好 Framework呢?

首先对Framework涉及到的技术点进行收集,再将其技术点(知识点)进行梳理整理成思维导图的形式,注意针对自身的需求分好先后顺序,后续可以根据规划好的导图顺序去查找相关文档、视频学习。导图的主要目的就是帮你理清楚学习的方向,学习旅途中少走弯路。

上图是小编整理梳理的思维导图,大家不嫌弃可供参考,中间记录了Framework 通信(Binder、Handler、Livedata机制)、Framework 底层服务(AMS、PMS、WMS)、Framework UI机制(UI绘制、UI自定义)、Framework 事件机制、Framework 系统资源,根据这些知识点整了份《Android Framework 开发手册》,望这导图和学习手册能在大家学习途中 有一席用武之地 ↓↓↓

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

一、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执行过程

  1. AMS中Activity栈管理详解

五、深入PMS源码

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

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

需要参考学习的小伙伴,可以 通过↓↓↓方式货取!!!

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

最后

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

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

总之,一旦遇到问题,很少人能够由点及面逆向分析,最终找到瓶颈点和最优解决方案,而Framework是Android开发的深水区,也是衡量一个Android程序员能力高低的标准

相关文章

网友评论

    本文标题:你还能在Android 开发行业支撑多久?我……

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