您的位置:首页 > 移动开发 > Android开发

android性能优化基础篇(循环的优化)

2015-08-24 15:55 417 查看
从Android开发者网址上学习到的性能优化知识。

1.循环遍历的优化

需要对某集合进行循环遍历时,若该数据集实现了Iterable接口,可用增强型的for来进行循环(for-each),而不用手动写length个长度进行一个一个访问。

static class Foo {
int mSplat;
}

Foo[] mArray = ...

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() {
int sum = 0;
for (Foo a : mArray) {
sum += a.mSplat;
}
}

以上例子中,zero的性能最差,one较zero更优,仅仅只是将localArray的length缓存起来了,避免每次都去取一下length;而two的性能最好,即遍历的速度最快。在没有JIT的VM上运行最快,而在有JIT的VM上其与one的性能相当。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: