
Jaiel
Dauer-User
- 235
@markus.tullius
Stimmt auch es gibt halt 2 Seiten: Entweder halten statische Variablen die ganze App lang und führen zu leaks falls zu viele resourcen dadurch erhalten bleiben: z.B. statische Referenz auf ein Context-Objekt zum beispiel dass die GC von unnötigen Resourcen wie ganzen aufgeblähten View-Hierarchien verhindert, weil sich die Activity neu starten oder in eine andere überwechselt.
Oder die werden schnell mal genullt, so dass wichtige Informationen verloren gehen können. Bei Apps mit OpenGL Kontext passiert das immer. Ich hatte mal einen Talk gesehen wo einige Entwickler über One-Activity-Apps gesprochen haben und statische Variablen dort zu Problemen führen in Bezug auf OpenGL-Contexts.
Aber das ist kein Todesurteil diese zu benutzten, nur muss man damit dann im Endeffekt richtig umgehen und sich auf solche Situationen einstellen. Das wiederum macht die Entwicklung etwas umfangreicher und Fehleranfällig, deßhalb so gut wie möglich vermeiden und den statischen variablen nciht allzu kritische Informationen händeln lassen.
Stimmt auch es gibt halt 2 Seiten: Entweder halten statische Variablen die ganze App lang und führen zu leaks falls zu viele resourcen dadurch erhalten bleiben: z.B. statische Referenz auf ein Context-Objekt zum beispiel dass die GC von unnötigen Resourcen wie ganzen aufgeblähten View-Hierarchien verhindert, weil sich die Activity neu starten oder in eine andere überwechselt.
Oder die werden schnell mal genullt, so dass wichtige Informationen verloren gehen können. Bei Apps mit OpenGL Kontext passiert das immer. Ich hatte mal einen Talk gesehen wo einige Entwickler über One-Activity-Apps gesprochen haben und statische Variablen dort zu Problemen führen in Bezug auf OpenGL-Contexts.
Aber das ist kein Todesurteil diese zu benutzten, nur muss man damit dann im Endeffekt richtig umgehen und sich auf solche Situationen einstellen. Das wiederum macht die Entwicklung etwas umfangreicher und Fehleranfällig, deßhalb so gut wie möglich vermeiden und den statischen variablen nciht allzu kritische Informationen händeln lassen.