QNA > C > Cos'è Il Contesto, I Metodi Getapplicationcontext() In Android?

Cos'è il contesto, i metodi getapplicationcontext() in Android?

La documentazione Android sul contesto dice che è un

Interfaccia alle informazioni globali su un ambiente applicativo.

Quindi fondamentalmente questo è l'oggetto che Android run time consegna ad ogni = applicazione Android che viene avviata. Contiene tutte le informazioni globali che l'applicazione ha bisogno di conoscere - risorse di stringhe, risorse di immagini, componenti Android nell'applicazione (Activity Service, Broadcast Receiver & Content Provider).

Molti sviluppatori inesperti fanno l'errore di assumere che ci sia solo una singola istanza di questa classe - che porterà a perdite di memoria nell'applicazione Android.

Quando si fa getApplicationContext() si ottiene un oggetto Singleton Context. Ma quando fai getContext() non ottieni lo stesso contesto Singleton. Ogni attività ottiene la propria istanza di Context (basta stampare l'hashcode dell'oggetto context). Anche il servizio ottiene la propria istanza dell'oggetto Context.

Se non si presta attenzione a questi piccoli dettagli, si otterranno applicazioni Android con scarse prestazioni, che potrebbero addirittura schiacciarsi. Personalmente ritengo che questo sia il concetto più frainteso nello sviluppo di app Android.

Se volete maggiori dettagli su cosa porta alla perdita di memoria, come individuarla, perché accade e come evitarla, visitate pure questa serie di video.

Spero che questo aiuti.

Di Tiedeman

Come entrare nel KSCA. Ho partecipato a livello nazionale di cricket a scuola. Qual è la procedura per entrare in questo club, e quanto costerebbe :: Quanta acqua è necessaria per irrigare un campo da cricket?
Link utili