SharedPreferences vengono utilizzate per salvare i dati dell'applicazione in Android.Differenza tra commit e applica in Android SharedPreferences
commit()
e apply()
entrambi vengono utilizzati per salvare le modifiche nelle preferenze condivise.
Come menzionato in libreria Android:
public abstarct void apply():
A differenza di commit(), che scrive le sue preferenze verso persistente stoccaggio in modo sincrono, applicare() commette i suoi cambiamenti alla in-memory SharedPreferences immediatamente, ma avvia un commit asincrono sul disco e non ti verrà notificato alcun errore. Se un altro editor su condivide questo oggetto con un commit regolare() mentre un apply() è ancora in sospeso, il commit() si bloccherà fino a quando tutti i commit asincroni non saranno completati e commit stesso.
public abstract boolean commit():
confermare le preferenze cambiano indietro da questo Editor per i SharedPreferences oggetto è la modifica. Questo esegue atomicamente le modifiche richieste , sostituendo qualsiasi cosa sia attualmente nelle Visualizzazioni condivise .
Questo significa che le modifiche apportate da commit()
sono immediati rispetto a apply()
? Qual è il migliore?
Se è necessario utilizzare lo stesso valore di preferenza condiviso nella prossima attività immediata, quale dovrei utilizzare? Come ho visto se il valore di Preference è aggiornato, non viene riflesso fino al riavvio dell'applicazione.
ho dovuto muovermi avere il significato di thread UI .. !! cos'è esattamente? Sono novizio. –
UI Thread è il thread principale che imposta il layout e imposta ad esempio il listener onClick. – staaar
proprio così le operazioni che richiedono tempo come le scritture su disco renderebbero il tuo ui meno reattivo – fedepaol