私は適用とコミットの違いを知っています。 私の場合、commit()
を使用したいと思いますが、アンドロイドはバックグラウンドで実行され、メインスレッドをブロックしないため、apply()
を使用するように提案しています。SharedPreferences - apply()とcommit()
私がapplyを使用すると、このようなことが起こるのですか?それとも、適用前にそれを更新していない可能性がありますか?
editor.putBoolean("TEST", true)
editor.apply()
if (preferences.getBoolean("TEST")) {
//do something
}
なぜ "commit()"のような機能がありますか? –
コミットは、書き込みが成功したかどうかを知る必要がある場合に便利です。この情報を使用しない場合は常にapply –
'commit()'が元のAPIレベル1に存在し、 'apply()'がAPIレベル9で導入されました。 'commit()'は 'true'を返します。ディスクへの書き込み操作は成功しましたが、 'apply()'では最高の状態を期待しています。 –