Tôi đang sử dụng SharedPreferences
trong ứng dụng Android của tôi. Tôi đang sử dụng cả haicommit()
và apply()
phương pháp từ sở thích được chia sẻ. Khi tôi sử dụng AVD 2.3, nó không có lỗi, nhưng khi tôi chạy mã trong AVD 2.1, apply()
phương thức hiển thị lỗi.
Vậy sự khác biệt giữa hai điều này là gì? Và bằng cách sử dụng chỉ commit()
tôi có thể lưu trữ giá trị ưu tiên mà không có bất kỳ vấn đề?
apply()
chiến thắng. Do đó, bạn có thể sử dụng apply()
thay cho commit()
an toàn nếu bạn đảm bảo chỉ có một SharedPreferences.Editor đang được ứng dụng của bạn sử dụng.
commit()
không?
apply()
sẽ không đồng bộ làm I / O đĩa trong khicommit()
đồng bộ. Vì vậy, bạn thực sự không nên gọicommit()
từ luồng UI.