Tôi hiện đang xem xét một PullRequest chứa này:Tránh gián tiếp và phương pháp dự phòng gọi
- 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
bằng cách nào đó nó cảm thấy không đúng với tôi - sẽ nghĩ rằng vm đang làm những optimisations - nhưng không thể thực sự nói chắc chắn. Rất thích nhận được một số đầu vào nếu thay đổi này có thể có ý nghĩa - hoặc xác nhận rằng điều này được thực hiện trên phía máy ảo.
Nếu chúng ta biết rằng 'outgoingMassages.size()' sẽ không bị thay đổi? Không phải nó sẽ được tối ưu hóa, bởi vì chúng ta không cần phải gọi đối tượng 'outgoingMassages' và phương thức' size() 'mọi lúc? – HendraWD
@HendraWD nếu bạn biết rằng kích thước của outgoingMessages không thay đổi trong vòng lặp gán kích thước cho biến là một tối ưu hóa có thể được thực hiện. Tuy nhiên, nói chung, tốt hơn là tập trung vào cách giảm thời gian trong mã bên trong vòng lặp. –
ok, cảm ơn bạn đã xác nhận của bạn :) – HendraWD