for循环优化方式

来源:互联网 发布:大地彩票源码 编辑:程序博客网 时间:2024/05/16 06:15
    我们大家都知道Android 2.2JIT性能有了本质的提高,不过对于老版本的程序提高Java执行效率还有很多语言特点来说,对于Java 1.5之后将会有明显的改进。下面的例子来自SDK:

static class Foo {

int mSplat;

}

Foo[] mArray = ...

//上面的静态类Foo的执行效果和性能,我们分三个方法zero、one和two来做对比。

  
public void zero() { //大多数人可能简单直接这样写

int sum = 0;

for (int i = 0; i < mArray.length; ++i) {

sum += mArray[i].mSplat;

}

}

  
public void one() { //通过本地对象改进性能

int sum = 0;

Foo[] localArray = mArray;

int len = localArray.length;

for (int i = 0; i < len; ++i) {

sum += localArray[i].mSplat;

}

}

  
public void two() { //推荐的方法,通过Java 1.5的新语法特性可以大幅改进性能

int sum = 0;

for (Foo a : mArray) {

sum += a.mSplat;

}

}

其中,zero()最慢one() 较快two() 最快!

原创粉丝点击