目的

AndroidアプリにてSharedPreferencesを使ってローカル保存をする時、
commit()apply()を使っったときの違いのメモ


違いメモ

どういうことかというと
以下のコマンド群にて、

SharedPreferences common = getSharedPreferences("TEST_KEY", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = common.edit();
editor.putString("key", "テスト");

→commit()
or
→apply()

最後の行のの行を
commit()とするかapply()とするかということ

それで海外だとapply()と書いてるとこもあり、
いやいや、そこはcommit()にするべきだろ!
という指摘をしているとこもあり。

調べたところ

■commit()

メインスレッドで同期して値をローカル保存する



■apply()

メインスレッドではなく、非同期で行う

ということらしいです。

自分としては、、となりますが、
メインスレッドで行うcommit()の方が良いのかなと思ってます。


Androidを支える技術〈I〉──60fpsを達成するモダンなGUIシステム (WEB+DB PRESS plus)