Tôi đã xác định một phiên bản SharedPreferences
được sử dụng ở chế độ đa xử lý.Sử dụng SharedPreferences trên chế độ đa xử lý
public class Prefs {
private static SharedPreferences prefs;
private static SharedPreferences.Editor editor;
private static void init(Context context) {
prefs = context.getSharedPreferences("alaki",
Context.MODE_MULTI_PROCESS);
editor = prefs.edit();
}
// static methods to set and get preferences
}
Bây giờ tôi đang sử dụng lớp này trên dịch vụ với quy trình riêng và cũng trong quy trình đăng ký chính của tôi theo cách tĩnh.
Mọi thứ đang diễn ra tốt đẹp, nhưng đôi khi tất cả dữ liệu được lưu trữ trên phiên bản SharedPreferences đã bị xóa!
Làm cách nào để giải quyết vấn đề này?
Chỉnh sửa: Cuối cùng tôi đã giải quyết được sự cố của mình bằng IPC.
Bạn có đang gọi editor.commit sau khi thực hiện thay đổi không? – jjm
@jjm Có, tôi có. –
Hmm. Ý của bạn là gì khi bạn nói rằng tất cả dữ liệu đã bị xóa? Là một quá trình sửa đổi các prefs và khác không nhìn thấy những thay đổi? – jjm