今生
所以,工作过一、两年后你会发现,自己每天重复工作内容就是将找各种各样的组件、框架,拖拖拽拽,改改样式。在极端情况下出现了问题后(比如部分机型上崩溃,加载图片慢),也不知道该如何解决!然后就开始被老板嫌弃,跳槽被面试官吊打,最后感叹道:“Android开发到底还有没有搞头!”。
造成这种局面的有两种原因:
1.所开发的App功能要求并不复杂,在性能上呢,也不需要极致的追求,所以导致自己的技术水平一直在原地踏步,长期在一个小环境中心态上也感觉自我良好。
2.自己的意识不够,不知道如何从平凡的工作中提炼可优化的点,在向上提升方面也没有完整的规划。
出路
提升技术,进阶学习如下几个阶段:
1.做好业务需求的功能。 这个是初级程序员就应该有的能力。
2.解决极端情况下的技术问题,比如性能优化,OOM等。 稍有点规模的公司,肯定都会遇到这种问题,比如上文中说的App在部分机型上崩溃、页面加载不出来等。只是大部分程序员会觉得难以复现,或者是因为小概率事件而忽略了。在忽略这些问题的过程中,也放弃了进一步提升的可能性。还有一部分程序员是看到了这些问题,但一直不知道怎么解决,因为这些问题的产生基本都是要往底层框架去找原因,而平时只关注上层的业务逻辑代码,因而没有深入研究底层的原理,导致心有余而力不足。
3.在开发框架和效率上做文章。 举个例子,很多程序员说自己的精力都在和产品的撕逼中浪费了,但有没有想过,能够通过技术手段将自己从繁杂的无技术含量的工作中解救出来?比如是否能够做到只编写一次代码,或者改个配置参数就能够做到在不同平台上运行。更高的要求是,能否将这些方案做成通用框架或产品。
上面列举的几个阶段,首先要从思考方式上去逼迫自己不断地逼迫自己,不要偷懒。其次,要想按照上述阶段发展,还需要落在实处,在具体的技术体系中不断的学习。
学习推荐
这里也根据上面的出路建议,推荐大家一个学习的参考路线,是我根据现在市场需求以及本身的技术薄弱区域所进行整理,大家可以进行参考学习。
性能优化:听说大公司的末位淘汰制专为代码质量差性能低的员工准备的。怎么样写一手高性能的代码?怎样进行性能调优呢?
-
设计思想与代码质量优化
-
程序性能优化
-
开发效率优化
-
app性能优化实践
Android第三方开源框架解读:当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
-
热修复设计
-
插件化框架设计
-
组件化框架设计
-
图片加载框架
-
网络访问框架
-
RxJava响应式编程框架设计
-
IOC架构设计
-
Android架构组件Jetpack
Android相关源码解读:学习Android源码有助于我们学习其中的设计模式、思想、架构。熟悉整个源码的架构,有助于我们更加正确地调用 Android 提供的 SDK,写出高效正确的代码。
-
深入解析微信 MMKV 源码
-
深入解析阿里巴巴路由框架 ARouter 源码
-
深入解析 AsyncTask 源码(一款 Android 内置的异步任务执行库)
-
深入解析 Volley 源码(一款 Google 推出的网络请求框架)
-
深入解析 Retrofit 源码
-
深入解析 OkHttp 源码
-
深入解析 ButterKnife 源码
-
深入解析 Okio 源码(一套简洁高效的 I/O 库)
-
深入解析 SharedPreferences 源码
-
深入解析 EventBus 源码
写在最后
最后我想说:对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
相信它会给大家带来很多收获:
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!