我目前正在審查包含此一PullRequest:避免間接和冗餘的方法調用
- for (int i = 0; i < outgoingMassages.size(); i++) {
+ for (int i = 0, size = outgoingMassages.size(); i < size; i++)
https://github.com/criticalmaps/criticalmaps-android/pull/52
莫名其妙地感覺我錯了 - 會認爲虛擬機在做這些的優化 - 但不能真的很確定。如果這種改變是有道理的,我們很樂意得到一些輸入 - 或者確認這是在VM端完成的。
如果我們知道'outgoingMassages.size()'不會改變?是不是會優化,因爲我們不需要每次調用對象'outgoingMassages'和方法'size()'? – HendraWD
@HendraWD如果您知道在將循環大小分配給變量的過程中,outgoingMessages的大小沒有發生變化,則可以進行優化。但是,通常最好專注於如何縮短循環內代碼的時間。 –
好的,謝謝你的確認:) – HendraWD