Sto usando SharedPreferencesnella mia app Android. Sto usando sia commit()e apply()metodo dalla preferenza condivisa. Quando uso AVD 2.3 non mostra alcun errore, ma quando eseguo il codice in AVD 2.1, il apply()metodo mostra l'errore.
Quindi qual è la differenza tra questi due? E utilizzando solo commit()posso memorizzare il valore della preferenza senza alcun problema?
apply()vince. Pertanto, è possibile utilizzare apply()al posto di commit()sicuro se si assicura che un solo SharedPreferences.Editor sia utilizzato dall'applicazione.
commit()?
apply()eseguirà gli I / O su disco in modo asincrono mentrecommit()è sincrono. Quindi non dovresti davvero chiamarecommit()dal thread dell'interfaccia utente.