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;
}
}
引用https://developer.android.com/training/articles/perf-tips.html#Loops建议使用'for each loop syntax'来获得更好的性能。但另一方面,该文章说,对于使用JIT的设备使用零()或两个(),而零()是最慢的设备没有任何区别。对于Libgdx中的Array Datatype,哪种循环语法最快?
我还发现不推荐使用two()但是one()的文章,因为每个循环的a可能会产生垃圾。
我想知道什么是最好的迭代通过LibGDX阵列数据类型的所有元素。
这里有一些文章: https://github.com/libgdx/libgdx/wiki/Collections https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/utils/Array.html
我仍然不解