Używam SharedPreferences
w mojej aplikacji na Androida. Korzystam zarówno z metody, jak commit()
i apply()
ze wspólnych preferencji. Kiedy używam AVD 2.3, nie pokazuje błędu, ale kiedy uruchamiam kod w AVD 2.1, apply()
metoda pokazuje błąd.
Jaka jest różnica między tymi dwoma? A używając tylko commit()
mogę zapisać wartość preferencji bez żadnego problemu?
apply()
wygrywa. Dlatego możesz używać apply()
zamiast commit()
bezpiecznie, jeśli upewnisz się, że aplikacja używa tylko jednego programu Preferencje wspólne.
commit()
?
apply()
asynchronicznie wykona operacje we / wy dysku, gdycommit()
jest synchroniczny. Więc naprawdę nie powinieneś dzwonićcommit()
z wątku interfejsu użytkownika.