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
我仍然不解