2016 March 05

Android Improvement

Android的学习路径到目前为止已经非常成熟,纷繁的学习路径归根结底依旧是官方文档的熟悉,练习,源码的思考,Android的初级开发其实并不复杂,常规来说一个学习能力正常的开发者,三个月之内基本可以上手,拼拼凑凑似乎可以做出可堪一用的App,旋即很多人觉得Android的开发不过如此,没有难度,很多人包括我,在学到一定程度之后内会觉得很迷茫,Android的学习到此为止?剩下的难道就是继续跟着产品线走下去,踩坑填坑,随着时间以及阅历解决的问题逐渐增多才能进一步提升?这样的方式是不是有些被动?作为一个主动学习者,这样的路径实在有些难受,对于究竟如何主动提升我一直在思考,有一天突然觉得自己应该跳出日常的工作圈子去外面接触一下去看看外面的技术发展,在用些什么,有没有些隐藏?去直接询问,去Check自己的状态,同时也可以寻找更好的杭州工作机会,我开始参加面试.第一次的网易面试实在对自己的打击有些惨重,android的深入点似懂非懂,过去的数据结构也逐渐开始遗忘(完全二叉树,红黑树,B树等)—— 业务逻辑写得越来越多,过去的知识开始遗忘,看起来自己实在是毫无亮点。

知耻而后勇,自己在一些反省以及总结之后,明显觉得自己的方向感开始逐渐清晰,得益于第一次网易面试的好感,再次投了网易另一事业部,这一次我选择了当面去杭州进行交流,虽说代价有点大然而这一次的交流获益还是比较明显的,至少自己对于Android整体,以及社会招聘的理解有了一些更加深入的体会,社会招聘与校园招聘是由本质区别的,社会招聘更多的是倚重于你当时的能力资本,能不能迅速的进入产品线参与开发,直白的说就是需要能出活。以往的校园招聘更多是潜力股的寻找,基础的考量,学习能力与学习素质的考量等;

技术的学习切忌闭门造车,自己学习的过程中抬起头来看看周围的世界是很有必要的:

那么Android的进一步学习空间应该在哪里呢?

一是优秀的开源框架,深入进入,了解其为何优秀,学习其设计理念,解决了什么问题,如何解决的,这样对于一些系统性架构性知识的理解会更上一层;包括但不限于 EventBus,DataBinding,RxJava,Glide,Fresco,Volly,OkHttp等

二是更加深入的了解Android的实现,Activity启动流程?View事件分发?View绘制流程?IPC Binder?各种Manager等等,构建完善的Android知识网络

三是关注如何写出更加好用户体验的App,更好的用户体验必须深入了解Android系统相关知识,虚拟机知识需要知道,网络优化,UI流畅性优化,内存性优化,电量优化等等

四是更加全面的知识系统,Android网络相关?系统安全相关?为什么网络优化要推送?如何实现推送?网络长链接以及推送好在哪?如何实现更加酷炫的效果,让用户惊叹,更加好的是用户拿到这个App可以秀一把,无论是外观党,小清新还是其他

五是其他知识,如何阅读源码?进一步了解Linux等知识,构建更加完善全面的知识网,JavaScript混合开发?算法其实还是很有必要的,各种数据结构都是很需要,设计模式?重构?编程思想?

这些目前有些我已经了解,有些正在了解,也有些还未可知,学习的路很漫长,从无尽的知识寻找中去修炼自己的思维能力,架构能力,编程能力,把编程当成一个技术活,脑力活,体力活共同来看待,是技术活就需要练习,是脑力活就需要学习,是体力活就需要调节与锻炼。

上一篇
下一篇
Loading Disqus comments...
Table of Contents