0

我的应用程序有一些基于用户的一些设置的 UI 元素,我不确定我应该如何进行编码以获得最佳性能,而且谷歌似乎没有一个很好的方法来尝试找到这个之前已经问过了。

基本上我想检查设置中设置的应用程序版本 UI,我目前通过一个函数来做:

public String appVersion() {
    appSettings = currentActivity.getSharedPreferences(APP_SETTINGS, 0);
    String prefAppVersion = appSettings.getString("appVersion", "v2");

    return prefAppVersion;
}

然后我将通过 if/else 语句显示某些 UI 元素:

  if (appVersion().equals("v2")) {
     // do something here
  }
  else {
     // do something else
  }

如果我在我的应用程序中调用该函数 5-6 次(一遍又一遍地获取 SharedPreference),这是否会导致内存问题,或者我最好以某种方式声明一个获取 SharedPreference 一次然后将其用于测试的全局变量?我唯一关心的是,如果 Preference 发生变化,并且如果变量未重置,则需要重新绘制 UI。

非常感谢您的想法/意见。

4

1 回答 1

0

我不认为 appVersion 函数会导致任何内存问题,但也许将 appSettings 作为局部变量会是一个更好的做法。

我不明白第二个问题,你的意思是如何知道正在改变的偏好?SharedPreferences.OnSharedPreferenceChangeListener可以帮助你。

于 2012-10-25T03:07:50.793 回答