写点什么

3-5 年以上的 Android 原生开发如何深入进阶?高级工程师必须要掌握哪些?

用户头像
Android架构
关注
发布于: 刚刚

颜感觉颜色和设计稿有差别,能不能再调调?怎么老是崩溃啊,行不行啊?......


所以,工作过一年后你会发现,自己的工作重点就是**将找各种各样的组件、框架,拖拖拽拽,改改样式。**在极端情况下出现了问题后(比如部分机型上崩溃,加载图片慢),也不知道该如何解决!都不好意思说自己是搞技术的。


造成这种局面的有两种原因:


  1. 所开发的 App 功能要求并不复杂,在性能上呢,也不需要极致的追求;

  2. 自己的意识不够,不知道如何从平凡的工作中提炼可优化的点,在向上提升方面也没有完整的规划


从自身规划的角度讲,技术上的进阶分如下几个阶段:


  1. 做好业务需求的功能。这个是初级程序员就应该有的能力。

  2. **解决极端情况下的技术问题,比如性能优化,OOM 等。**稍有点规模的公司,肯定都会遇到这种问题,比如上文中说的 App 在部分机型上崩溃、页面加载不出来等。只是大部分程序员会觉得难以复现,或者是因为小概率事件而忽略了。**在忽略这些问题的过程中,也放弃了进一步提升的可能性。**还有一部分程序员是看到了这些问题,但一直不知


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


道怎么解决,因为这些问题的产生基本都是要往底层框架去找原因,而平时只关注上层的业务逻辑代码,因而没有深入研究底层的原理,导致心有余而力不足。3. **在开发框架和效率上做文章。**举个例子,很多程序员说自己的精力都在和产品的撕逼中浪费了,但有没有想过,能够通过技术手段将自己从繁杂的无技术含量的工作中解救出来?比如是否能够做到只编写一次代码,或者改个配置参数就能够做到在不同平台上运行。更高的要求是,能否将这些方案做成通用框架或产品。


其实没转行的 Android 程序员,大多都是希望能在这方面继续学习提升的。而上面列举的几个阶段,首先要从思考方式上去逼迫自己不断地逼迫自己,不要偷懒。其次,要想按照上述阶段发展,还需要落在实处,在具体的技术体系中不断的学习。


举个例子:


对于 OOM,需要知道有哪些优化工具可以使用(Lint、MAT 等),如何检测 OOM,以及垃圾回收机制等深层次的原理。对于性能优化来说,如何减少 apk 体积、资源动态加载等都是必会的。以下是性能优化相关思维导图。



当然,要让自己成为高级工程师,不仅仅需要自己具备性能调优的能力,其实学习的内容还有很多。还需要对 Java(Kotlin)语言熟练掌握/Android SDK 原理源码深入理解/高级 UI 绘制能力/Android 热门技术/C 与 C++语言能力/NDK 开发能力/hybrid 开发(Flutter)/小程序编写能力。因为不同行业不同项目需要学习进阶的技能都不一样,要是要在细分领域找准方向!


在体系化的学习过程中,博客、书籍、视频课程都是较好的学习手段。


鉴于 Android 也是基于 java 语言的,因此很多与 java 相关的基础也是必须掌握的,比如《深入理解 Java 虚拟机》、《Effective Java》等相关书籍也是必读的。


Android 相关的书籍包括《Android 权威编程指南》、《Android 开发艺术探索》等,进一步的还可以去阅读 Android 相关源码,配合《Android 源码设计模式解析与实战》等书籍,对阅读源码大有裨益。



如果你觉得自己看书太慢而且难以全部理解,博客不够系统,可以找一套进阶视频学习。没有的话我可以免费分享一套给你


详细整理在石墨文档可以见;


Android架构视频+BAT面试专题PDF+学习笔记?


那么如何构建完整的知识体系,深挖 Android 技术?


很多工作了 1-3 年的 Android 人,想够一够 3w 月薪的岗位,但在底层技术上却有很大的问题:


毕业几年,表面上用过很多技术,但都没能深入学习,一年的工作经验,干了好几年。结果就是遇到实际问题时无从下手,最终还是走着普通工程师的道路,和高手的距离越来越远。


都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。


技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到 Android 架构师/技术专家?我总结了这 5 大块;


我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android 架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。



Java 语言与原理;大厂,小厂。Android 面试先看你熟不熟悉 Java 语言

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
3-5年以上的Android原生开发如何深入进阶?高级工程师必须要掌握哪些?