Ich benutze SharedPreferences
in meiner Android App. Ich benutze beide commit()
und apply()
Methode aus gemeinsamen Präferenzen. Wenn ich AVD 2.3 verwende, wird kein Fehler angezeigt. Wenn ich jedoch den Code in AVD 2.1 ausführe, apply()
zeigt die Methode einen Fehler an.
Was ist der Unterschied zwischen diesen beiden? Und wenn commit()
ich nur benutze, kann ich den Präferenzwert problemlos speichern?
apply()
gewinnt das letzte, das aufgerufen wird . Daher können Sie apply()
anstelle von commit()
sicher verwenden, wenn Sie sicherstellen, dass nur eine SharedPreferences.Editor von Ihrer Anwendung verwendet wird.
commit()
?
apply()
Wird asynchron Festplatten-E / A ausführen, währendcommit()
es synchron ist. Sie sollten also wirklich nichtcommit()
vom UI-Thread aus aufrufen .