Контекст приложения SharedPreferences и контекст действия

Я использую несколько SharedPreferences для хранения данных в своем приложении. Некоторые предпочтения используются во многих видах деятельности.

Я знаю, что SharedPreferences внутренне поддерживаются картой для доступа быстрого чтения -и записываются на SD-карту при изменении настроек.

Интересно, какой способ лучше, если к общему параметру обращается много действий:

  1. Создайте его в каждом действии, используя контекст действия.
  2. Создайте его в каждом действии, но с использованием контекста приложения.
  3. Вставьте его, например. класс Application и создайте его там только один раз, подобно синглтону.

Если я использую 1. решение, существует ли объект sharedpreference для каждого действия? И будет ли уничтожена внутренняя карта sharedpreference при уничтожении активности?

Если я использую 2. решение, будет ли только один экземпляр, хотя я вызываю getSharedPreferences в каждом действии? И будет ли внутренняя карта в памяти, пока живо приложение?

Надеюсь, кто-то знает, как Android справляется с этим внутри.

49
задан Brian Tompsett - 汤莱恩 10 June 2015 в 01:00
поделиться