Durch einige vermeintlich "gute" Quellquellen gehen, um die Details und Tricks der Kontextbehandlung in Android zu lernen Ich bin auf ein Muster mehrfacher Zeit gestoßen, das ich nicht schaffe verstehen.Warum ContextWrapper direkt in einer Aktivität anstelle des impliziten Kontexts von "this" verwenden
Welchen Vorteil hat die Verwendung eines ContextWrappers, wenn Sie den impliziten Kontext genauso gut verwenden könnten?
Zum Beispiel, warum den folgend in einer Aktivitäts Methode verwenden (direkt in einer Aktivitätsklasse definiert)
...
ContextWrapper cw = new ContextWrapper(getApplicationContext())
File filesDir = cw.getFilesDir();
...
Statt nur
...
File filesDir = getFilesDir();
...
obwohl getFilesDir() in der ContextWrapper Klasse definiert ist Die Aktivität ist sowieso eine Unterklasse von ContextWrapper, so dass Sie trotzdem direkten Zugriff auf die Methode haben.
Welches potenzielle Problem (das ich nicht sehen kann) ist diese zusätzliche Komplexität Adresse?
'Application' erstreckt' ContextWrapper' auch. – tynn