Неважно, указали ли вы Application
или Activity
в качестве параметра Context
для PreferenceManager.getDefaultSharedPreferences()
.
Если вы посмотрите на источник для getDefaultSharedPreferences()
:
return context.getSharedPreferences(getDefaultSharedPreferencesName(context),
getDefaultSharedPreferencesMode());
Заглядывая дальше, в getDefaultSharedPreferencesName(context)
:
return context.getPackageName() + "_preferences";
Это означает, что для любого Context
вашего приложения, вы получите тот же SharedPreferences
обратно, так как идентификатор вашего приложения не изменяется в зависимости от Activity
или Application
.
Единственный раз, когда вы можете столкнуться с потенциальной проблемой, это если вы вручную создаете Context
для другого пакета (например, используя Context.createPackageContext()
).