Zrobiłem trochę badań, ale głównie widzę odpowiedzi w języku C++. Najbliższy, do którego przyszedłem, to this. Widziałam też this page, ale tak naprawdę nic nie wyjaśnia.Java - Czy kod wprowadzający będzie korzystny?
Czy są jakieś zalety, jeśli używam drugiego fragmentu kodu? Czy wystąpią zauważalne różnice w wydajności? A co z pamięcią? Co jeśli zrobi się to powtarzalnie?
W tej chwili mam tę funkcję. Jestem pewien, że zaletą jest to czytelność kodu:
private static Bitmap resize(Bitmap image, int maxWidth) {
float widthReducePercentage = ((float) maxWidth/image.getWidth());
int scaledHeight = Math.round(image.getHeight() * widthReducePercentage);
return Bitmap.createScaledBitmap(image, maxWidth, scaledHeight, true);
}
Teraz mam ten drugi fragment kodu:
private static Bitmap resize(Bitmap image, int maxWidth) {
return Bitmap.createScaledBitmap(image, maxWidth, Math.round(image.getHeight() * (float) maxWidth/image.getWidth()), true);
}
Prostszy przykład byłoby:
for(;;) {
String foo = "hello";
Console.print(foo + "world");
}
versus
for(;;) {
Console.print("hello" + "world");
}
Uważam, że kompilator i tak optymalizuje rzeczy, więc przykłady z parą testów mogą działać podobnie. W każdym przypadku wpisanie może ułatwić odczytanie kodu. –
Przykłady, które podajesz, nie będą miały żadnej różnicy w wydajności. Nie przejmuj się nawet "optymalizacjami" takimi jak te, po prostu rób to, co najlepiej czyta. –
@LouisWasserman Roger to – pandalion98