1. 程式人生 > >Android中List循環遍歷性能對照

Android中List循環遍歷性能對照

最快 next() num trac () ren length iter pan

在android開發中僅僅要是列表式風格界面我們差點兒都須要用到List來存放數據,在數量非常少的List的話差點兒不論什麽一種循環遍歷方式總體性能都無區別。可是當我們遇到數據量稍大的時候有必要考慮用哪種方式寫起來比較高性能。
常見的有下面三種:
第一種

for (String s : tests) {
    // ....
}

另外一種

int size = tests.size();
for (int i = 0; i < size; i++) {
    tests.get(i);
}

第三種

Iterator<String> it
= tests.iterator(); while(it.hasNext()) { it.next(); }

採用以上三種在數據量少於等於100的情況下差點兒輸出時間都為0,當在1000左右的時候第三種略微慢在1ms左右<可能在當時的環境原因>能夠說三種方式也是沒區別,當數據量在10000左右我們就能看到區別了第一種和第三種差點兒相同要4ms而另外一種僅僅要2ms,當數據量在100000左右的話第一種差點兒相同要40ms,另外一種17ms,第三種33ms。

技術分享

聲明:以上環境在MacBook Pro -> Eclipse -> Android5.0 -> Nexus5手機環境下的測試結果,Google下面資料顯示在非JIT的情況下事實上第一種是最快的,可是在Android環境下還是採用另外一種才是最佳性能選擇。

‘).text(i)); }; $numbering.fadeIn(1700); }); });

Android中List循環遍歷性能對照