Jaka jest różnica pomiędzy:
getApplicationContext()
getBasecontext()
getApplication()
getParent()
Czy możesz podać jeden prosty przykład?
Jaka jest różnica pomiędzy:
getApplicationContext()
getBasecontext()
getApplication()
getParent()
Czy możesz podać jeden prosty przykład?
Odpowiedzi:
getApplicationContext()
Kontekst aplikacji jest powiązany z aplikacją i zawsze będzie taki sam przez cały cykl życia.
getBasecontext()
nie powinien być używany, po prostu użyj Context
zamiast niego, co jest związane z działaniem i może zostać zniszczone, gdy działanie zostanie zniszczone.
getApplicationContext () Kontekst aplikacji jest powiązany z aplikacją i zawsze będzie taki sam przez cały cykl życia.
getBasecontext ()Nie należy używać , wystarczy użyć zamiast niego kontekstu, który jest powiązany z działaniem i może zostać zniszczony, gdy działanie zostanie zniszczone.
Funkcja getApplication () jest dostępna tylko dla Aktywności i Usług. Chociaż w obecnych implementacjach działań i usług systemu Android metody getApplication () i getApplicationContext () zwracają ten sam obiekt, nie ma gwarancji, że tak będzie zawsze (na przykład w implementacji określonego dostawcy). Jeśli więc chcesz, aby klasa Application zarejestrowana w Manifeście, nigdy nie wywoływała metody getApplicationContext () i rzutować jej na swoją aplikację, ponieważ może to nie być instancja aplikacji (czego oczywiście doświadczyłeś we frameworku testowym).
getParent () zwraca obiekt działania, jeśli bieżący widok jest podrzędny. Innymi słowy zwraca obiekt działania zawierający widok podrzędny, gdy jest wywoływany w obrębie dziecka.