Android 原生开发如何前行?

曾听过很多人说 Android 学习很简单,做个App就上手了,工作机会多,毕业后也比较容易找工作。这种观点可能是很多Android开发者最开始入行的原因之一。

在工作初期,工作主要是按照业务需求实现App页面的功能,按照设计师的设计稿实现页面的效果。

在实现的过程中,总是会被提如下的需求:

这个字能不能大点或者醒目点儿?

感觉颜色和设计稿有差别,能不能再调调?

怎么老是崩溃啊,行不行啊?

……

《Android 原生开发如何前行?》

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

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

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

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

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

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

解决极端情况下的技术问题,比如性能优化,OOM等。稍有点规模的公司,肯定都会遇到这种问题,比如上文中说的App在部分机型上崩溃、页面加载不出来等。只是大部分程序员会觉得难以复现,或者是因为小概率事件而忽略了。在忽略这些问题的过程中,也放弃了进一步提升的可能性。还有一部分程序员是看到了这些问题,但一直不知道怎么解决,因为这些问题的产生基本都是要往底层框架去找原因,而平时只关注上层的业务逻辑代码,因而没有深入研究底层的原理,导致心有余而力不足。

在开发框架和效率上做文章举个例子,很多程序员说自己的精力都在和产品的撕逼中浪费了,但有没有想过,能够通过技术手段将自己从繁杂的无技术含量的工作中解救出来?比如是否能够做到只编写一次代码,或者改个配置参数就能够做到在不同平台上运行。更高的要求是,能否将这些方案做成通用框架或产品。

上面列举的几个阶段,首先要从思考方式上去逼迫自己不断地逼迫自己,不要偷懒。其次,要想按照上述阶段发展,还需要落在实处,在具体的技术体系中不断的学习。

举个例子:

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

《Android 原生开发如何前行?》

Java语言进阶与Android相关技术内核

Android应用是由Java语言进行开发的,SDK也是由Java语言编写,所以我们要学习java语言。另外,虽说kotlin语言得到了Android官方的热推,但是kotlin也是编译成了java语言再运行的。对于Android来说,只要SDK没有用kotlin重写,那么Java语言是都需要学习的。而且Android apk的后台服务器程序大概率是java语言构建,所以学习java也是一种必然。

《Android 原生开发如何前行?》

Android前沿技术

现在去很多公司面试,除了你具备基本的能够写一个高性能app的能力后,一般都会在自己的app里面加一些现有的相对较 666 的技术,这些技术我们称之为前沿技术。他们一般包含热升级,热修复,App Instant,强制更新,组件化路由架构Arouter,RxJava,IOC架构方法,Hook技术等等,当然,这些技术你不能只会用,你需要知道他的原理,有时候,你还需要知道如何对这些架构进行改进。

《Android 原生开发如何前行?》

NDK 模块开发

音视频/高清大图片/人工智能/直播/抖音等等这年与用户最紧密,与我们生活最相关的技术一直都在寻找最终的技术落地平台,以前是windows系统,而现在则是移动系统了,移动系统中又是以Android占比绝大部分为前提,所以Android NDK技术已经是我们必备技能了。

《Android 原生开发如何前行?》

移动架构师

架构师不是天生的,在Android里面最常用的架构无外乎 MVC,MVP,MVVM,但是这些思想如果和模块化,层次化,组件化混和在一起,那就不是一件那么简单的事了,我们需要一个真正身经百战的架构师才能讲解透彻其中蕴含的深理。

《Android 原生开发如何前行?》

需要这些资料的大伙关注+点赞+加群:185873940 免费获取!

群内还有许多免费的关于高阶安卓学习资料,包括高级UI、性能优化、架构师课程、 NDK、混合式开发:ReactNative+Weex等多个Android技术知识的架构视频资料,还有职业生涯规划及面试指导。

    原文作者:Android高级架构师
    原文地址: https://www.jianshu.com/p/0db9a4ba0c54
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞