Qual è la differenza tra:
getApplicationContext()
getBasecontext()
getApplication()
getParent()
Puoi elaborare con un semplice esempio?
Qual è la differenza tra:
getApplicationContext()
getBasecontext()
getApplication()
getParent()
Puoi elaborare con un semplice esempio?
Risposte:
getApplicationContext()
Il contesto dell'applicazione è associato all'applicazione e sarà sempre lo stesso per tutto il ciclo di vita.
getBasecontext()
non dovrebbe essere usato, basta usarlo al Context
posto di quello che è associato all'attività e può essere distrutto quando l'attività viene distrutta.
getApplicationContext () Il contesto dell'applicazione è associato all'Applicaition e sarà sempre lo stesso per tutto il ciclo di vita.
getBasecontext () non dovrebbe essere usato, usa semplicemente Context invece di esso che è associato all'attività e potrebbe essere distrutto quando l'attività viene distrutta.
getApplication () è disponibile solo per Activity and Services. Sebbene nelle attuali implementazioni di attività e servizi Android, getApplication () e getApplicationContext () restituiscano lo stesso oggetto, non vi è alcuna garanzia che ciò sarà sempre il caso (ad esempio, in un'implementazione di un fornitore specifico). Quindi, se vuoi la classe Application che hai registrato nel Manifest, non dovresti mai chiamare getApplicationContext () e trasmetterla alla tua applicazione, perché potrebbe non essere l'istanza dell'applicazione (che ovviamente hai sperimentato con il framework di test).
getParent () restituisce l'oggetto dell'attività se la vista corrente è figlia. In altre parole, restituisce l'oggetto attività che ospita la vista figlia quando viene chiamato all'interno del figlio.