0

私のアプリには、ユーザーからのいくつかの設定に基づくいくつかのUI要素があり、最高のパフォーマンスを得るためにこれをコーディングする方法がわかりません。これをGoogleで検索するのに良い方法はないようです。以前に尋ねられました。

基本的に、設定で設定されたアプリバージョン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を1回取得し、それをテストに使用するグローバル変数を宣言する方がよいでしょうか?私の唯一の懸念は、設定が変更され、変数がリセットされていない場合にUIを再描画する必要がある場合です。

あなたの考え/入力は大歓迎です。

4

1 に答える 1

0

appVersion 関数がメモリの問題を引き起こすとは思いませんが、 appSettings をローカル変数として作成することをお勧めします。

2 番目の質問がわかりません。設定が変更されたことを知る方法を教えてください。SharedPreferences.OnSharedPreferenceChangeListenerが役立つ場合があります。

于 2012-10-25T03:07:50.793 に答える