Podstawowy cykl ładowania i obsługi obiektów obiektów systemu Android

Chociaż istnieją niezliczone zasoby dotyczące cyklu życia aplikacji, aktywności itp., Widoczne z perspektywy interfejsu API (onCreate/Destroy/Whatnot() metody) prawie nie ma żadnych informacji na temat rzeczywistego cyklu życia tych komponentówz perspektywy Java. Więc na przykład widziałem (na wideo z marakany w YouTube), że usługi są w zasadzie singletonami - i to mnie zastanowiło nad stanem IntentService - czy można go udostępnić? A może to także singleton?

Domyślam się, że początkowo proces jest tworzony (przez Zygote?), Razem z instancją DalvikVM, a następnieklasy wszystkie komponenty zadeklarowane w manifeście są ładowane (?), a następnie tworzone w razie potrzeby - ale są to domysły. Nie mogę w ogóle odpowiedzieć na pytania takie jak:

są nadawcami rozpowszechnianymi tylko raz lub raz za każdym razem, gdy odbierana jest transmisja?czy aplikacja jest singletonem? Gwarantowane?jestMyApplication.class załadowany przed wszystkimi innymi komponentami? Zawsze utworzysz instancję? Nawet wtedy, gdy tylko manifestowany zarejestrowany BR działa?kiedy jest szczególnyApplication.class mojego (prawdopodobnie będzie) rozładowany (więc powinienem sprawdzić, czy jego pola statyczne wymagają inicjalizacji (w przypadku inicjowania przez wywołującego))

Widzisz, jestem tutaj w ciemności. Chciałbym przeanalizować ładowanie klas, tworzenie instancji i zbieranie śmieci podstawowych komponentów aplikacji dla Androida - linki do dokumentów i / lub powitania źródła. Im bardziej techniczne, tym lepiej.

Refs: tosłupek przez @inazaruk.
RównieżOdwołania statyczne są wyczyszczone - czy system Android rozładowuje klasy w czasie wykonywania, jeśli nie jest używany?

questionAnswers(0)

yourAnswerToTheQuestion