写在前面

“Android高级工程师需要掌握哪些技能?”
“怎样才能成为Android高级工程师?”

这些问题不只是刚刚从事Android开发不久的小伙伴才有疑问的,很多工作四五年的也同样会有这些疑问。(两三年没怎么升职加薪,技术也遇到瓶颈的开发者大有人在)

作为好的安卓开发,首先明确Android是前端,重点是UI,做出稳定的应用是关键。

很多人对Android属于一知半解的状态,鼓励去Stackoverflow之类的地方寻找问题的解决办法,但务必了解内在的机理,达成对知识理解的体系,当你建立了一个体系,很多问题就不在复杂,软件开发是precise engineering,不是凭运气。

举个例子,面试的时候,我喜欢挑战面试者一些很离谱的题目,比如,在一个EditText里面,你输了一个字母“A”,这个A是经过了多少安卓特有的流程才能显示到屏幕上的。 初看这是个无聊的问题,大家往往会觉得,这是理所当然的事情,其实不然,这个问题考查了你对view layout/measure的理解,对rendering的理解,对drawing的理解,如果面试者能答出来这个问题,那我一定不担心你会写出卡顿的安卓代码。

刚开始做Android开发的时候,我也答不出这个问题,但几年之后,渐渐养成了一个体系,充分贯通这些“不必要”的细节,我私以为这是个资深程序员必备的条件,什么性能优化都是水到渠成的事情

至于其他的技术,比如video streaming,取决于你是想成为某个领域的专家,还是解决问题的能手,如果是后者,你需要良好的数据结构+算法+读代码+读文档的能力,在短时间内了解优秀的解决办法,然后加以利用,做软件工程不是读PhD,先把需求解决了,再看怎么提高。

很多人推荐了各种书,对于Android开发,最好的资源莫过于体系化的官方教学视频,他们指引了正确的方向让你深入了解Android的UI构建和运行机制。见过许多写了很多app,但是不明白其中要点的程序员,我只觉得失望并担忧。当然,既然要做前端UI,黑魔法少不了,学习日新月异的编程思想,Dagger/React等等

我整理了3-5年的Android开发高级学习资料。直接对接阿里P7深度。体系化的视频教程。预计下个月整理完免费分享出来,需要的朋友可以点个关注哦
 

 

如果身在团队中,建立良好的学习氛围,鼓励交流,同时在被产品经理和设计师折磨的时候,理解他们,帮助他们理解Android开发特点

最后,Android只是个解决问题的工具,你需要一个时刻准备用这个工具解决问题的知识体系,换了一个工具也是一样的。比如跨平台开发技术都是殊途同归,手机没被淘汰,Android开发就不会被淘汰。

更多相关文章

  1. Android Studio重构之路,我们重新来了解一下Google官方的Android
  2. 2020了,安卓程序员该何去何从?
  3. 博文视点大讲堂37期 ——It's Android Time:程序员创富有道!
  4. [Android] 关于系统工具栏和全屏沉浸模式
  5. Android 网上学习工具网址
  6. Android Device Monitor工具的使用
  7. android sdk中的工具

随机推荐

  1. GestureDetector简单应用实现长按和双击
  2. Android(安卓)WebView 跳转第三方App
  3. android自定义控件宽高的获取
  4. github优秀的开源库
  5. Android: 微信分享
  6. android 自定义View之继承ViewGroup实现
  7. Android(安卓)电话系统框架介绍
  8. 第四章(1)Libgdx项目安装、运行和调试
  9. Android中BaseAdapter的用法分析与理解
  10. Android:Umeng(友盟)数据统计(一)