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()



0 0
原创粉丝点击