java – ART中的ArrayList循环性能(Android运行时环境)

我在这里阅读了性能提示:

http://developer.android.com/training/articles/perf-tips.html#Loops

而在它看起来像

for(i=0; i <= objectArrayList.size() ; ++i){}

出于性能原因,首选循环为“for each”或“enhanced”样式循环

for(Object object : objectArrayList){}

这仍然适用于ART还是会改变一切?就是想.

最佳答案 不是Android大师:)

对我来说似乎是一个不成熟的优化.那么你有一个有效的问题.看到

 for(i=0; i <= objectArrayList.size() ; ++i){
       Object o = objectArrayList.get(i);
       /// do stuff
    }

因此它每次遍历列表以获取该特定元素.在哪里

for(Object object : objectArrayList){
  // do stuff
}

Uses iterator,比正常速度快一点.步骤到下一个元素.

虽然我更喜欢 – 因为可读性,因为所有最近的jvm都超级快;)

点赞