您的位置:首页 > 移动开发 > Android开发

Android性能优化之路(五年之痒)

2016-04-23 13:43 288 查看
记得在上学的时候,就听说在某个方面坚持学习一年,也就入门了。很庆幸,工作五年了,一直都在做Android性能优化。一般来说,工作三年左右会是工作的一个门槛,五年左右会是另外一个门槛,所以最近非常的低落、迷茫。昨晚外面下着漂泊大雨,辗转反侧的我,在想自己这从业五年以来的经历。

刚毕业的人,会觉得很多东西都很新鲜,那个时候主要是以学习为主,尤其是系统性能,初步了解每个模块,大概也需要一年左右的时间,一年左右以后,虽然学了很多,但觉得自己什么也不会,而与你同期做应用的人,你会发现他们可以负责一个模块了,非常自卑。假设此时你换工作的话,会发现自己跟毕业没有多大的区别,因为此时你学的知识还不知道怎么发挥价值,学到的工具也没什么用。这也是后两年左右需要做的事情。第二年到第三年,你开始接触一些简单的性能问题,虽然处理起来不这么得心应手,但慢慢你还是能够解决,等过了一段时间,在你原来打的一年左右的基础之上,在解决问题的过程中,你慢慢体会学习的知识,不断反复,到后来发现复杂一点的Android性能问题,你也可以解决了。随着你解决问题的增多,App、Framework、Hal、Kernel等等所以Android层面的问题都解决了一遍,然后你觉得所有的Android系统性能问题都可以Fix掉,而此时的你,在重复的解决这些问题时,却觉得工作由原来的兴奋,变得无趣,此时你的内心却是无比膨胀的,觉得自己在Android系统性能上无所不能了,大概也到你工作三年左右需要继续跟公司签订合同了,而你却放弃了,你觉得自己应该去寻找更广阔的世界,所以你跳槽了,这也进入到后两年的工作了。

你跳槽了,你来到了新公司,觉得会有更大的发展,结果你会发现,其实公司还是会让你处理Android系统性能优化相关的问题,利用你以往的经验。你突然发现换了一个环境,还是不能解决困境,这样持续一年左右,对Android系统性能优化,你非常纯熟,也无所畏惧,但你觉得自己不应该这样,虽然困惑但未曾离开,于是你开始开发形成一些工具,对知识进行沉淀,你看到了工具所带来的价值,发现了无数的问题,比起自己一个一个的去复现、分析、解决问题高效了很多,而且还能在功能没有上线时,告诉别人存在部分性能问题,此时你应该是另外一种感觉了,这个时候你应该工作到第五年了,也就是此时的我。

此时的我,对性能的认识不在这么简单了,无论是Android性能问题的解决,各种Android性能工具使用及开发,都有过了解,而发现五年真正做的确实在不停的Profile并进行分析解决,无法触及到更深的层次,也就是觉得自己在这个行业入门了。入门了,也就差不多了,但或许正如别人所说,我有着湖南人的固执,我却并不满足,最近一直在学习反思,方式自己的路。

自己所做的事情,还是太重了,OverLoad太大,而真正的性能监控OverLoad正常应该控制在1%左右,最大不会超过3%,很好的一个例子是Dtrace及Google的监控系统,在尽可能收集到最多数据的同时,把OverLoad控制到最小,那个时候,是知识及智慧的体现,需要高性能的框架及对领域知识的深入理解,然后建立一套监控评价性能的标准,此时会有客户端的数据收集、上传,服务端的存储、处理、展示,需要各种扯皮,说服别人数据的可信及标准的正确,需要不断的尝试及校正,耗费大量的时间就经历,为前人所不能为,在国内应该很少这样的地方了,也就导致了我现在做技术的迷茫,因为国内的技术,大多数时候还停留在能用的阶段,还没到达精致精细要求,还无工匠追求,希望数十年后也许会有这样的要求!

总的来说,在这五年做Android性能优化的路上,经历了:

Android性能优化问题处理。知识的认识。

Android工具开发及初步了解标准。知识沉淀的初步尝试。

Android性能标准建立。深入理解知识及沉淀。

本人愚钝,大致花了五年左右的时间进行了前面两阶段的摸索。在进行第三阶段的探索时,遇到了各种各样的问题,无论是技术的还是非技术的,感觉遍体鳞伤。

基于个人经历的总结,欢迎交流。如何你真的理解Android性能,欢迎联系我。

生命不息,奋斗不已。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: