Sto utilizzando diverse SharedPreferences per memorizzare i dati nella mia app. Alcune preferenze sono utilizzate in molte attività.Contesto di applicazione SharedPreferences contesto di attività
So che le SharedPreferences sono internamente supportate da una mappa per l'accesso rapido in lettura e scritte su sdcard quando le impostazioni vengono modificate.
Mi chiedo da che parte è meglio se uno sharedpreference si accede da un sacco di activies:
- un'istanza in ogni attività utilizzando il contesto di attività.
- Istanziare in ogni attività, ma utilizzando il contesto dell'applicazione.
- Inseritelo ad es. la classe Application e la istanzia solo una volta lì, simile a un singleton.
Se uso 1. Soluzione c'è un oggetto sharedpreference per ogni attività? E la mappa interna di sharedpreference verrà distrutta quando l'attività viene distrutta?
Se utilizzo 2. soluzione, ci sarà una sola istanza, anche se chiamo getSharedPreferences in ogni attività? E la mappa interna sarà in memoria finché l'applicazione è viva?
Speriamo che qualcuno sappia come Android lo gestisce internamente.
Consiglierei la scelta tre, è possibile accedere da tutte le attività e basta fare una lettura. – Joel