Attualmente sto rivedendo un PullRequest che contiene questo:Evitare indirezione e metodo ridondante chiamate
- 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
in qualche modo ci si sente male a me - potrebbe pensare che la VM sta facendo queste ottimizzazioni - ma non posso Dillo davvero. Mi piacerebbe avere qualche input se questo cambiamento può avere senso - o una conferma che ciò avvenga sul lato VM.
E se sappiamo che 'outgoingMassages.size()' non verrà modificato? Non sarà ottimizzato, perché non abbiamo bisogno di chiamare l'oggetto 'outgoingMassages' e il metodo' size() 'ogni volta? – HendraWD
@HendraWD se si sa che la dimensione di outgoingMessages non viene modificata durante il ciclo che assegna la dimensione a una variabile è un'ottimizzazione che può essere eseguita. Tuttavia, in generale, è meglio concentrarsi su come ridurre il tempo nel codice all'interno del ciclo. –
ok, grazie per la conferma :) – HendraWD