Nizza domanda!
L'applicazione è un contesto sempre in esecuzione mentre le attività e i servizi sono in esecuzione.
È anche il primo contesto da creare e l'ultimo da distruggere. Quindi, circonda il ciclo di vita della tua app.
È possibile utilizzare la classe dell'applicazione come metodo per condividere dati o componenti (ad esempio per l'integrazione delle dipendenze). Per esempio, se si desidera condividere un Singleton tra le attività, è possibile creare l'istanza nella classe di applicazione e di fornire un getter, poi tutti gli altri contesti possono ottenere il Singleton tramite
((cast to your class)getApplicationContext()).getFoo();
Ci possono essere alcuni casi di utilizzo in cui si devi fare cose anche prima che venga lanciata la tua prima attività, quindi fallo nel metodo onCreate della classe dell'applicazione.
D'altra parte, non è mai necessario affidarsi al metodo onDestroy
della classe Application
, poiché non viene sempre chiamato. Non c'è un contratto per questo su Android.
Ma questo è raro e, di solito, non è necessario sovrascrivere la classe dell'applicazione. L'iniezione di dipendenza può essere ottenuta in altri modi da RoboGuice o Dagger, ad esempio.
hai dimenticato classe Application è dove tutti i nativo C/C++ librerie create per NDK vengono caricati. –