现在的位置: 首页 > 综合 > 正文

Android代码优化技术

2013年12月10日 ⁄ 综合 ⁄ 共 869字 ⁄ 字号 评论关闭

Google设计Android平台时选择了Java,Java语言是一种解释型语言,需要Java VM实时解析运营,虽然有JNI机制但是似乎谷歌并不希望Android平台出现很多安全问题,提供程序运行效率的方法就显得尤为重要了,尤其是性能敏感的游戏设计。

  1.Java内存控制

  对于字符串操作而言如果需要连加这样的操作建议使用StringBuilder,经过调试不难发现如果你的字符串每次连加,使用String需要的内存开销会远大于StringBuilder,然后Android手机常规的运行内存大约在128MB左右,对于运行多任务就需要考虑了,Android开发网提示因为Java有GC不需要手动释放那么分配的时候就要格外的小心,频繁的GC操作仍然是很影响性能的,在调试时我们可以通过logcat查看内存释放情况。

  2.循环使用

  平时在访问一个属性的时候效率远比一个固定变量低,如果你的循环估计次数常常大于5,假设xxx.GetLength()方法的值一般大于5,推荐这样写,比如

  for(int i=0;i<xxx.GetLength();i++)

  这里xxx.GetLength在每次循环都要调用,必然会影响程序效率,在游戏开发中显得更为明显,改进的方法应该为

  int j=xxx.GetLength()

  for(int i=0;i<j;i++)

  3.图片的优化

  在Android平台中2维图像处理库BitmapFactory做的比较智能,为了减少文件体积和效率,常常不用很多资源文件,而把很多小图片放在一个图片中,有切片的方式来完成,在J2ME中我们这样是为了将少文件头而解决MIDP这些设备的问题,而Android中虽然机型硬件配置都比较高,有关Android G1硬件配置可以参考G1手机参数以及评测,但是当资源多时这样的运行效率还是令人满意的,至少Dalvik优化的还不是很够。

from :http://android.tgbus.com/Android/androidnews/200812/172247.shtml

抱歉!评论已关闭.