2012-10-25 61 views
0

我的應用程序有一些基於用戶設置的UI元素,我不確定我應該如何編碼以獲得最佳性能,並且似乎沒有一種方法可以讓Google試圖查找如果這已經被問過。設置全局變量或重複調用函數?

基本上我想檢查設置中的應用程序版本UI設置,我目前通過功能做到這一點:

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

    return prefAppVersion; 
} 

然後,我將通過if/else語句顯示某些用戶界面元素:

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

這種的,如果我調用該函數我的應用程序內的5-6倍,使內存問題(得到一個SharedPreference過&一遍)還是我好莫名其妙聲明一個全局變量得到SharedPreference一次,然後使用那爲了測試?我唯一擔心的是,如果首選項發生變化,並且如果變量未被重置,則需要重新繪製UI。

您的想法/輸入將不勝感激。

回答

0

我不認爲appVersion函數會導致任何內存問題,但也許使appSettings作爲局部變量將是一個更好的做法。

我不明白第二個問題,你的意思是如何知道被改變的偏好? SharedPreferences.OnSharedPreferenceChangeListener可能會幫助你。