我有一个偏好,可以控制我的应用程序是否在用户单击按钮时播放声音(这很常见,想想计算器)。每次用户单击按钮时,都会调用以下方法:
private void playButtonClickSound() {
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(parentActivity);
boolean sounds = sharedPrefs.getBoolean("prefSounds", false);
if (sounds) {
// blah
}
}
我在想读取首选项可能是一项昂贵的操作(类似于 I/O 操作,因为首选项是持久的)并且由于用户经常单击按钮,因此这样做可能不是一个好主意。
一般来说,经常读/写首选项是一个坏主意吗?如果是这样,是否还有另一种方法,例如注册偏好更改侦听器以在偏好更改时收到通知?