2016-08-15 18 views
0

私はSharedPreferencesを使用して、サーバーから入手したStringを保存しています。これは30秒ごとに発生すると仮定しますが、ほぼ常に同じStringとなります。 私の質問は、ベストプラクティスになるものです: SharedPreferences読み込み速度対書き込み速度

    1. は、毎回SharedPreferencesからStringを読むStringと比較到着し、彼らが等しくない場合にのみ、SharedPreferencesに書き込む(3000 1起こります)それぞれ、は、SharedPreferencesに書き込まれ、保存された値を上書きします。

    同期と時間の文脈でより正確な方法は何でしょうか?

  • +1

    のリターンを比較しますか?最初のアクセスの後に保存して比較するだけです。 –

    +0

    どこに保管しますか?アプリケーションが途中で閉じられ、再度開くことがあります。 –

    +1

    どこかの静的フィールドにそれを格納し、ヌルである場合に限り共有の設定から読み込みます...? – lelloman

    答えて

    0

    両方の関数を作成して時間の実行を比較すると、たとえば1000の演算を実行してその結果を比較するほうが良いでしょう。 次のような関数を作成することができます。

    public static long readAndCompare() { 
    
        long startTime = System.currentTimeMillis(); 
        //1000 read and compare operations 
        long endtime = System.currentTimeMillis(); 
    
        long readAndCompareExcutionTime = endtime - startTime; 
        return readAndCompareExcutionTime; 
    } 
    
    
    public static long OverrideSharedPreferenceValue() { 
    
        long startTime = System.currentTimeMillis(); 
        //1000 Override operations 
        long endtime = System.currentTimeMillis(); 
    
        long OverrideExcutionTime = endtime - startTime; 
        return OverrideExcutionTime; 
    } 
    

    、あなたはあなたの県から毎回 `STRING`を読みたいと思うのはなぜreadAndCompare()OverrideSharedPreferenceValue()

    関連する問題