2011-07-13 13 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オブジェクトを処理するために、複雑なコードがフレームワーク内にたくさんある必要があります。

(これは一種-の「共有」環境設定、それを呼び出すの背後にある考え方です。)

関連する問題