Frage von Corleonefactory, 19

Ressourcenschonend Android programmierne?

Hallo

Welche Variante ist ressourcenschonender.

Variante1 Ich initialisiere die Variable vor OnCreate

private String strId;
private String strAvatar;

und weise diesen dann einen Wert zu

strAvatar = sharedPrefs.getUserAvatarServer(this);

Variante 2

Ich weise die Variabel direkt zu.

  String strAvatar = sharedPrefs.getUserAvatarServer(this);
Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von thomaszZz, 6
private String strId;

Der Schritt heißt Deklaration, nicht Initialisierung. Und den Datentyp im Namen zu codieren ist in Java ebenfalls nicht üblich.

Ob du Deklaration und Initialisierung zusammen durchführst oder trennst, macht in Java performance-technisch keinen Unterschied. Manchmal muss man sie aber trennen, wenn man den Scope einer Variable vergrößern möchte.


Kommentar von thomaszZz ,

Habe deine Frage aber vermutlich auch bisschen missverstanden; wenn du diesen Wert nur einmal lokal benötigst, ergibt es durchaus Sinn, diesen nur lokal und nicht in einer Objektvariable zu speichern. Denn in Variante 2 kann der Speicher am Ende des Methoden-Scopes vom GC ggf. wieder freigegeben werden, während bei Variante 1 dies erst passieren wird, wenn das Activity-Objekt einkassiert wird.

Kommentar von Corleonefactory ,

Ah ok ja das habe ich mir auch gedacht danke super!

Antwort
von triopasi, 13

Das ist egal, der Compiler optimiert das eh ohne Ende...

Antwort
von welt101, 7

Das ist egal. Der Ressourcenverbrauch ist nahezu gleich.

Keine passende Antwort gefunden?

Fragen Sie die Community