写在前面

“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. 开发 Standalone Android(安卓)Java 应用程序
  2. 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定
  3. 阿里巴巴Android开发手册
  4. 2010:Android(安卓)商机之年
  5. Blog-06-《一周快速上手Kotlin For Android》-之When分支
  6. 在Windows中的安装Android(安卓)NDK开发环境
  7. 独立Android开发者开发app如何盈利
  8. 利用HTML5开发Android笔记(中篇)
  9. Android(安卓)Studio重构之路,我们重新来了解一下Google官方的And

随机推荐

  1. kotlin技巧和细节整理
  2. Android遇到No external storage availab
  3. Android代码风格(Android属性前缀m的意思)
  4. Android(安卓)AIDL实现两个APP间的跨进程
  5. Android中bindService()启动Service的过
  6. 通信组件之Intent的基本使用
  7. Android(安卓)Studio提示端口号5037被占
  8. 通过GridView仿微信动态添加本地图片
  9. android RecyclerView实现列表定位
  10. Android文件存储和读取方式