SharedPreferences werden zum Speichern von Anwendungsdaten in Android verwendet.Unterschied zwischen Festschreiben und Anwenden in Android SharedPreferences
commit()
und apply()
werden beide zum Speichern der Änderungen in den gemeinsamen Einstellungen verwendet.
Wie in Android-Bibliothek erwähnt:
public abstarct void apply():
Im Gegensatz zu begehen(), die synchron seine Vorlieben, um persistente Speicher schreibt, apply() verpflichtet sich, seine Änderungen an der In-Memory- SharedPreferences sofort aber startet eine asynchrone Festschreibung auf Festplatte und Sie werden nicht über Fehler informiert. Wenn ein anderer Editor unter dieses SharedPreferences ein reguläres commit() ausführt, während ein apply() noch aussteht, blockiert commit(), bis alle asynchronen Commits abgeschlossen sind, sowie das Commit selbst.
public abstract boolean commit():
Ihre Präferenzen Commit von diesem Editor zu den SharedPreferences wechselt zurück Objekt es Bearbeitung ist. Dies führt automatisch die angeforderten Änderungen durch und ersetzt, was derzeit in den SharedPreferences ist.
Bedeutet dies, dass die von commit()
vorgenommenen Änderungen sofort sind wie bei apply()
verglichen? Welches ist besser?
Wenn ich denselben gemeinsamen Präferenzwert in der nächsten Sofortaktivität verwenden soll, welchen soll ich verwenden? Wie ich gesehen habe, wenn der Wert von Preference aktualisiert wird, wird es nicht wiedergegeben, bis die Anwendung neu gestartet wird.
ich DINT die Bedeutung der UI-Thread erhalten beziehen sich auf .. !! was genau ist das? Ich bin Anfänger. –
UI-Thread ist der Haupt-Thread, der das Layout festlegt und z. B. den onClick-Listener einstellt. – staaar
richtig, so zeitaufwändige Operationen wie Disk-Schreibvorgänge würde Ihre UI weniger reaktionsfähig machen – fedepaol