2011-07-13 28 views
2

當我的應用程序啓動時,我使用我的分片首選項中的值填充容器類。這個想法是一次處理SharedPreferences和PreferenceManager,因爲我猜測它們很重。
下面是一個示例:Android性能:SharedPreferences的成本

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(cont); 
StorageClass.lifespan = Integer.parseInt(prefs.getString("lifespan", "8")); 
StorageClass.hiRate = Integer.parseInt(prefs.getString("hiRate", "71")); 
//and on and on for all preferences 

其他活動然後請求這些值。
但隨着我的應用程序的增長,主內存變得緊張。

讓每個請求者創建一個SharedPreferences的實例並獲得他們想要的值會更好嗎?

感謝

+0

而不用擔心容易出錯的分析,我只是縮短,使其可讀 – soBinary

回答

5

同樣SharedPreferences對象每次請求相同名稱的偏好時返回。如果情況並非如此,那麼框架內需要有大量複雜的代碼來處理多個SharedPreference對象,當它們中的一個被其中一個對象改變時,它們的狀態保持同步。

(這是背後稱其爲「共享」偏好想法那種-的。)