Android代码优化技术
2013-03-27 14:35
344 查看
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
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
相关文章推荐
- Android代码优化技术
- 8、android代码优化技术记录
- Android代码优化技术
- Android优化技术详解-第七章 代码优化(笔记)
- Android代码优化技术
- Android代码优化技术
- Android 代码优化技术点总结
- 性能优化之Java(Android)代码优化
- 【JQuery】优化页面性能的代码技术整理(提高网页响应速度必看)
- 两个最容易被人忽略的基本代码优化技术
- Android内存优化四:从代码角度进行优化
- Android代码性能优化小技巧
- 使用Android Support Annotations优化你的代码
- Android应用开发揭秘之优化技术
- Android 性能优化:使用 Lint 优化代码、去除多余资源
- Android 代码性能优化建议
- Android代码优化
- Android —— 代码优化及常用代码块
- 性能优化之Java(Android)代码优化
- Android 代码优化