Приводит ли изменение экземпляра SharedPreferences к немедленной операции ввода-вывода на Android? - PullRequest
0 голосов
/ 14 марта 2011

В моем приложении я изменяю экземпляр SharedPreferences каждый раз, когда я заканчиваю / запускаю и Activity. Я изменяю только 1 свойство (хотя я не думаю, что это имеет значение сейчас). Мне было интересно, сохраняются ли эти модификации на диске с некоторыми операциями файлового ввода-вывода сразу после фиксации, или Android как-то пакетирует эти операции?

Я думаю о сроке службы батареи, так как ввод / вывод файлов afaik идет медленно (особенно при операциях записи) и сильно влияет на батарею. Я не мог найти что-нибудь об этом в документации, кто-нибудь знает что-нибудь об этом?

Спасибо

Ответы [ 3 ]

2 голосов
/ 14 марта 2011

Да, внесение изменений в файл настроек приведет к синхронной записи файла. (см. источник ).

1 голос
/ 14 марта 2011

Я бы сказал, что SharedPreferences сохраняются сразу, когда

commit;

называется. Похоже, философия Android OS заключается в том, чтобы полагаться на приложения (и их разработчиков), чтобы хранить свои данные в любое время, и в документации ставится акцент, чтобы сохранять данные в onPause / onDestroy самостоятельно, а не полагаться на то, что система что-либо делает. для вас, если я проясню.

1 голос
/ 14 марта 2011

Да. Единственное различие между commit () и apply () в том, что commit является синхронным.

...