java(android)编程中存在性能影响的主要方面
2012-11-14 12:33
176 查看
1.循环中;
1)在重要的循环里,消除循环终止判断时的方法调用。
例如:将
for(int i=0; i<collection.size();i++){ ... }
替换为…
尽量减少对变量的重复计算
for(int i=0; n=collection.size();i<n;i++){...}
2) 通常把大循环放在里面,把小循环放在外面
例如:将
for(int i=0;i<10;i++) {
for(int j=0; j<1000000;j++) {}
}
3) 通常,把与循环index不相关的移到循环的外面
for(int i=0; terminal=x.length;i<terminal;i++){
x =x/scaleA *scaleB;
}
应该该成:Double scale = scaleB*scaleA;for(int i=0;terminal=x.length;i<terminal;i++){x = x/scale ;}
4)循环内不要创建对象的应用
for(inti=1;i<=domainCount;i++){ .
AuditResult auditResult = new AuditResult();
}
这种做法会在内存中保存N份这个对象的引用//会浪费大量的内存空间,改为
AuditResult auditResult;
for(int i=1;i<=domainCount;i++){
auditResult=new AuditResult();
..
}
2.字符串处理;
1)字符串拼接使用StringBuilder替代String的“+”;
2)在不需要考虑现成安全的情况下使用StringBuilder替代StringBuffer;
3.变量和常量的处理;
1)在重要的循环里使用基本数据类型;
2)对所有的常量代数表达式使用static final修饰符;
3)不要重复初始化变量;
4)如果不考虑某个类的可扩展尽量将该类类增加final修饰符;
5)尽量使用局部变量,类变量访问速度比局部变量慢;
4.同步机制;
1)在使用同步机制时,应尽量使用方法同步代替代码块同步;
2)ConcurrentHashMap去替代Vector,性能更高;
5.异常处理;
1)不要在循环中使用try catch;
2)因为try catch的执行开销是很大的,所以不要在不需要try catch的地方,也加上,让catch的代码块额外增加;
6.算术运算;
1)乘除法如果能用移位表示尽量用移位运算;
1)在重要的循环里,消除循环终止判断时的方法调用。
例如:将
for(int i=0; i<collection.size();i++){ ... }
替换为…
尽量减少对变量的重复计算
for(int i=0; n=collection.size();i<n;i++){...}
2) 通常把大循环放在里面,把小循环放在外面
例如:将
for(int i=0;i<10;i++) {
for(int j=0; j<1000000;j++) {}
}
3) 通常,把与循环index不相关的移到循环的外面
for(int i=0; terminal=x.length;i<terminal;i++){
x =x/scaleA *scaleB;
}
应该该成:Double scale = scaleB*scaleA;for(int i=0;terminal=x.length;i<terminal;i++){x = x/scale ;}
4)循环内不要创建对象的应用
for(inti=1;i<=domainCount;i++){ .
AuditResult auditResult = new AuditResult();
}
这种做法会在内存中保存N份这个对象的引用//会浪费大量的内存空间,改为
AuditResult auditResult;
for(int i=1;i<=domainCount;i++){
auditResult=new AuditResult();
..
}
2.字符串处理;
1)字符串拼接使用StringBuilder替代String的“+”;
2)在不需要考虑现成安全的情况下使用StringBuilder替代StringBuffer;
3.变量和常量的处理;
1)在重要的循环里使用基本数据类型;
2)对所有的常量代数表达式使用static final修饰符;
3)不要重复初始化变量;
4)如果不考虑某个类的可扩展尽量将该类类增加final修饰符;
5)尽量使用局部变量,类变量访问速度比局部变量慢;
4.同步机制;
1)在使用同步机制时,应尽量使用方法同步代替代码块同步;
2)ConcurrentHashMap去替代Vector,性能更高;
5.异常处理;
1)不要在循环中使用try catch;
2)因为try catch的执行开销是很大的,所以不要在不需要try catch的地方,也加上,让catch的代码块额外增加;
6.算术运算;
1)乘除法如果能用移位表示尽量用移位运算;
相关文章推荐
- Android之编程中存在性能影响的主要方面
- Java编程中影响性能的一些特点
- Java编程中影响性能的一些特点
- Java编程中影响性能的一些特点
- Java编程中影响性能的一些特点
- 影响mysql的性能主要方面
- 影响java性能的主要因素及调优
- Java编程中影响性能的一些特点
- Java编程中影响性能的一些特点
- Android与Java在编译及类库方面的主要区别
- Java编程中影响性能的一些特点
- Java编程中影响性能的一些特点
- Android性能优化全方面解析
- android jni编程 ,java 与c++互调
- (2.3.14)Java上的try catch并不影响性能(转)
- developerWorks Java 技术专区-这里有数百篇关于 Java 编程各个方面的文章
- Java Android 编程规范
- 关于前端svg编程相关教程(主要是鼠标交互方面)
- Java 编程的动态性,第 6 部分: 利用 Javassist 进行面向方面的更改
- java,android编程框架