常用的:
1.优化循环。通过重新组织重复的子表达式来提高循环体的运行性能。
2减少使用对象的数量来提高运行性能。
3.缩减网络传输数据来缩短等待时间。
其他:
1.采用对象池技术,提高对象的利用效率。
性能的损耗主要源于创建和释放对象,因此要避免对象的创建和释放。采用对象池技术,预先定义一个对象池,预先创建一组待使用的对象:
Enemy[5] enemy=new Enemy[5];
for(int i=0;i<5;i++){
enemy[i]=new Enemy();
}
增加标志如used和reset标识Enemy的状态。需要创建对象时从对象池中获取 一个未被使用的对象并用reset方法初始化;需要释放时只需修改标志位以供下次使用即可。
2.尽可能使用基本数据类型代替对象
例如用二维数组代替一个写简单的对象。
3.优化算法
比如对于默写不要求很精细的场景和算法,用简单的算法模拟。
4.其他优化
a.如提取字符串时,试着返回子串而不是创建一个副本。
b.尽量的少创建短期的临时对象。
c.能用库函数的就不要自己创建(库函数是优化好的)
d.Map map=new HashMap();
HashMap map=new HashMap(); //这个性能更高,重构代码
e.增强型for循环和Iterable使用时,多了一个对象的创建,慎用。
f.避免enum类型。
g.嵌入式开发时注意浮点的运用,尽量不用。(处理器是否支持浮点)
h.图片资源压缩、多张图片集中到一张图片上(比单独的和小很多,省去了每张的头文件、结束文件等数据块,合并了调色板)