Android优化(二)——代码优化
来源:互联网 发布:sql查询表语句怎么写 编辑:程序博客网 时间:2024/06/03 18:50
基本原则:
1.字符串频繁操作时,多用StringBuffer而少用String
2.尽量使用本地资源,即反复使用的 变量要先保存成临时或局部变量,尤其是循环中使用的变量
3.String方法中的substring()和indexOf()都是本地方法,可以大量使用
4.如果函数返回了String类型,而且返回后的使用就是要加入到StringBuffer,此时可以直接传入StringBuffer
5.用两个一维数组代替二维数组
6.如果返回直接类型足够了,就没必要返回接口类型,如果返回HashMap就足够了,就没必要返回Map
7.如果一个方法不访问(不修改)成员变量,请用static方法
8.尽量不用getters和setter,如果你非要用,可加上final关键字,编译器会把它当做内联函数
9.不要在for循环第二个参数使用方法调用
10.不修改static变量,用static final来代替
11.foreach可以用来处理数组和arraylist,如果处理其他对象相当于Iterator
12.避免使用枚举,请使用常量代替
13.慎用浮点数float尤其是大量的数学运算
14.不使用的引用要手动置null,提高内存被回收的概率
15.慎用图片操作,使用后要释放资源
GC对象优化
1.循环优化
例如下面的代码会一直去执行alist,size()方法,带来性能损耗
List alist = uSvr.getUserinfoList();
for(int i=0;i<alist.size();i++){
}
修改为
for(int i=0 p=alist.size();i<p;i++){}
2.没有必要的时候,循环内不要创建对象
3.少用new创建对象
使用关键字new创建类的实例时,构造函数链中的所有构造函数都会被自动调用,但如果一个对象实现了Cloneable接口,我们就可以调用clone()方法
4.及时清除Session
通常情况下,服务器会自动释放没有活动的Session,但是在多用户并访时,系统内存要维护多个无效的Session,应该手动释放回收资源
//获取当前的session
HttpSession session = request.getSession();
if(null!=session){
session.invalidate();//使session失效
}
5.乘法和除法问题
利用位移来处理,性能会6被增加
优化方法调用代码
1.使用自身方法
2.使用虚拟优于接口
3.使用静态优于虚拟
4.尽可能避免使用内在的Get,Set方法
5.尽量避免使用InetAddress.getHostAddress()
6.尽量避免使用DatagramPacket.getSocketAddress()
- Android优化(二)——代码优化
- Android优化系列——代码优化
- Android性能优化——代码优化
- Android性能优化之二 代码优化
- Android优化——UI优化(二)
- Android性能优化的——Java(Android)代码优化
- 《代码优化:有效使用内存》读书笔记(二)——优化技巧之展开循环
- 《代码优化:有效使用内存》读书笔记(二)——优化技巧之消除数据相关性
- Android内存优化(二)--布局优化
- Android绘制优化(二)布局优化
- Android性能优化(二)布局优化
- android内存优化3—从代码角度进行优化
- Android—高级控件(二)ListView 优化版
- 项目代码优化(二)
- Android内部优化(二)
- Android内部优化(二)
- Android内存优化(二)
- android电量优化(二)
- online_judge_1040
- 有趣的数
- 《TCP/IP详解 卷1:协议》 读书笔记 第十一章 UDP:用户数据报协议
- Linux 内核 虚拟地址 物理地址 转换
- VS2012下X64平台嵌入汇编程序
- Android优化(二)——代码优化
- UGUI - 长按事件实现
- Hdu 1195 Open the Lock
- 每个android开发者都应该知道的Top 5三方库(2015版)
- java线程学习
- java内部类之方法内部类
- C语言的printf函数的执行顺序
- 单例设计模式
- scanf/fscanf 的%[]和%n使用方法 http://blog.csdn.net/wesweeky/article/details/6439777