В приложении, которое я создаю, мы немного полагаемся на SharedPreferences, это заставило меня задуматься о том, что лучше всего подходит для доступа к SharedPreferences. Например, многие люди говорят, что подходящий способ получить доступ к нему осуществляется через этот вызов:
PreferenceManager.getDefaultSharedPreferences(Context context)
Однако похоже, что это может быть опасно. Если у вас есть большое приложение, которое полагается на SharedPreferences, у вас может быть ключевое дублирование, особенно в случае использования сторонней библиотеки, которая также использует SharedPreferences. Мне кажется, что лучший призыв к использованию:
Context.getSharedPreferences(String name, int mode)
Таким образом, если у вас есть класс, который сильно зависит от SharedPreferences, вы можете создать файл настроек, который используется только вашим классом. Вы можете использовать полное имя класса, чтобы убедиться, что файл, скорее всего, не будет дублироваться кем-то другим.
Также на основе этого вопроса SO: Должен ли доступ к SharedPreferences сделать из потока пользовательского интерфейса?, кажется, что доступ к SharedPreferences должен выполняться из потока пользовательского интерфейса, что имеет смысл.
Есть ли другие рекомендации, которые разработчики Android должны знать при использовании SharedPreferences в своих приложениях?