原文出处:
http://www.cnblogs.com/yangyh/archive/2009/08/13/1544819.html
从几本书上,N个网站上整理的一些JAVA代码优化方案,最近的项目只有1M内存可用,必须很抠门了~J2ME项目更要注意的
避免内存溢出
l 不用的对象释放(置空)
如 :
a不为空时 a=new object()//这句代码执行时将有两个对象存在于内存中
较好的写法是a=null; a=new object();
不用的对象设置成null
l 内存溢出通常发生在构造函数中,在构造函数中变量在要用时再new,用完之后置null
一次性加载所有图片很容易造成内存峰值。
可以用 if(img==null){
Create…
}
l 考虑用静态工厂方法替代构造函数(但是,注意释放,单例模式的释放只能由自己来做)。
l 使用局部变量
l 图形重绘操作用部分重绘
l 避免在同一个类中通过调用get set来设置或调用变量,用public
l 避免在循环中生成同一个变量或调用同一个函数
l 常用变量尽可能用static final private
l 能用byte的就不用int,String
l 不要使用double
l 复制大量数据时用System.appaycopy()
l 避免使用泛型
l 尽量不使用try catch,必须使用时不要在循环体内写try catch
l 字符串操作使用StringBuffer
代码2是代码1执行速度的两倍:
代码1:
String title=new String(“大家好”);
Title+=”欢迎”;
Title+=”阅读”
//会在栈中生成五个对象:“大家好”,“欢迎”,“阅读”,“大家好欢迎”,“大家好欢迎阅读”
代码2:
StringBuffer title=new StringBuffer(“大家好”);
Tltle.append(“欢迎”);
Title.append(“阅读”);
l StringBuffer的构造器会创建一个默认大小(通常是16)的字符数组。在使用中,如果超出这个大小,就会重新分配内存,创建一个更大的数组,并将原先的数组复制过来,再丢弃旧的数组。在大多数情况下,你可以在创建StringBuffer的时候指定大小,这就避免了在容量不够的时候自动增长,以提高性能。
l 使用零值做为判断条件
For(int i=a.length()-1;i>=0;i--) 优于 for(int i=0;i<a.length();i++)
l 不要重复初始化变量
默认情况下,调用类的构造函数时, Java会把变量初始化成确定的值:所有的对象被设置成null,整数变量(byte、short、int、long)设置成0,float和 double变成0.0,逻辑值设置成false
l 乘法和除法用移位 ,除法比乘法慢,所以用乘于倒数来代替除法
考虑下面的代码:
for (val = 0; val < 100000; val +=5) { alterX = val * 8; myResult = val * 2; }
用移位操作替代乘法操作可以极大地提高性能。下面是修改后的代码:
for (val = 0; val < 100000; val += 5) { alterX = val << 3; myResult = val << 1; }
l 传递尽可能少的参数到经常调用的方法
l 不要有空方法,或方法内代码很少而方法又很少调用
l 避免类型转换
使用Profiler去查找哪里需要优化
改进你的算法,写最优的代码
分享到:
相关推荐
关于 j2me 代码优化 内存优化。 是我在开发过程中搜集的一些资料,看过后受益匪浅。 用于 j2me应用开发 j2me单机游戏开发 j2me网游开发。
分享:J2ME游戏代码 分享:J2ME游戏代码 分享:J2ME游戏代码分享:J2ME游戏代码 分享:J2ME游戏代码 分享:J2ME游戏代码分享:J2ME游戏代码 分享:J2ME游戏代码 分享:J2ME游戏代码分享:J2ME游戏代码 分享:J2ME...
基于java的开发源码-J2ME优化压缩PNG文件.zip 基于java的开发源码-J2ME优化压缩PNG文件.zip 基于java的开发源码-J2ME优化压缩PNG文件.zip 基于java的开发源码-J2ME优化压缩PNG文件.zip 基于java的开发源码-J2ME优化...
JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA...
JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的...
JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) ...
JAVA开发JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA开发JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA开发JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA开发JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA开发JAVA...
一个J2ME的五子棋手机游戏源代码,大家共享~~~~~~~~
JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏...
java 游戏开发教程j2me教程java java 高手毕竟之路java 游戏开发教程j2me教程java java 高手毕竟之路java 游戏开发教程j2me教程java java 高手毕竟之路java 游戏开发教程j2me教程java java 高手毕竟之路java 游戏...
J2ME代码优化的两种方案(1)代码优化技巧整理详解 J2ME代码优化的两种方案(1)代码优化技巧整理详解 J2ME代码优化的两种方案(1)代码优化技巧整理详解
J2ME代码优化的两种方案(2)代码优化技巧整理详解 J2ME代码优化的两种方案(2)代码优化技巧整理详解 J2ME代码优化的两种方案(2)代码优化技巧整理详解
Java嵌入式开发之j2meJava嵌入式开发之j2meJava嵌入式开发之j2me
基于Java的源码-J2ME优化压缩PNG文件.zip
J2ME代码优化..rarJ2ME代码优化..rarJ2ME代码优化..rarJ2ME代码优化..rarJ2ME代码优化..rar
JAVA源码JAVA基于J2ME的手机游戏开发(论文+源代码)本资源系百度网盘分享地址
Java 开发JAVA基于J2ME的手机游戏开发(论文+源代码)
一个前几年流行的j2me游戏Java源代码,是由一个日本java达人编写的游戏,非Android游戏,j2me在Android横空出世前曾经主宰手机游戏,不过随着Android的流行,j2me都转为android版本或IOS版本游戏了,因此学习这个...
java毕业设计——java基于J2ME的手机游戏开发设计与实现(论文+源代码).zip java毕业设计——java基于J2ME的手机游戏开发设计与实现(论文+源代码).zip java毕业设计——java基于J2ME的手机游戏开发设计与实现(论文+源...