Android开发其实入门并不难,有java经验的开发人员,学习一个礼拜就可以开始开发简单的app应用了。不会java?有c++等语言基础的话,再多花一个星期时间学习一下java也行了。
那为什么经常看到有些大公司的android高级开发人员经常会有30万、50万的年薪呢?能力与薪资不成正比啊。个人认为,高级的android开发人员,除了对android开发的方方面面富有经验外,还要能够开发出高效率的app。
要开发高效率的app,优化是重要的一步
优化主要分为2个方面
1.运行速度快。运行速度快直接体现为对用户的操作响应速度快。如果用户点一下,要过好久才有反应,这个项目的优化堪忧。
对于这个问题,首先要检查哪里的操作比较花时间。简单的方法就是打log,高级一点的使用traceview等工具,插入调试代码来进行分析
2.占用资源少。这点虽然用户不太容易发现,但体现了软件开发的基本功。
占用的资源包括
a)内存:可以使用ddms的 Allocation Tracker和heap dumps工具进行分析。也有专门的mat插件可以使用
b)cpu:这点和运行速度有点类似,可以使用traceview, Systrace或者Oprofile进行分析。traceview最方便,但是功能也最少,systrace其次,Oprofile最强大,但使用也相对最麻烦。
c)安装包大小。这点容易被用户感知,但其实和程序关系不大。安装包中最占空间的一般是图片和第三方库。所以打完包后,时常注意下size有没有突然增大。如果是图片大了,就考虑png格式能否换成jpg格式。如果是第三方库大了,那就换一个或者自己开发
d)电池:谨慎使用后台service,如果一定要用的话,不要一直连接。不要用sleep,因为无法正在睡着,用alarm manager代替
e)其他;如时常检查一下是不是占用了过多的sd卡空间。

说了这么多,都是些事后优化的方法,但说实话,开发前注意程序架构,预知性能瓶颈,本文列出的这些措施大多数Android项目都用不上。关于事前预知的方面内容将另文总结。