SharedPreferencesは、Androidにアプリケーションデータを保存するために使用されます。Android SharedPreferencesでのコミットと適用の違い
commit()
とapply()
の両方を使用して、共有設定の変更を保存します。 Androidのライブラリに述べたように
:
public abstarct void apply():
(コミットとは異なり)、同期永続 ストレージに出て好みを書き込み、(適用)は、すぐにメモリ内の SharedPreferencesへの変更をコミットするが、 ディスクへの非同期コミットが開始され、失敗の通知は表示されません。 の別のエディタでこのSharedPreferencesを実行すると、apply()がまだ有効でないうちにcommit()がブロックされ、すべての非同期コミットが完了するまでコミットされます(コミット自体と同様に )。
public abstract boolean commit():
あなたの好みをコミット SharedPreferencesはそれが編集されたオブジェクトに戻って、このエディタから変更します。これにより、 SharedPreferences内の現在のものが置き換えられ、要求された変更がアトミックに実行されます。
これはcommit()
によって行われた変更はapply()
と比較して、インスタントであることを意味するのでしょうか?どちらがいいですか?
次の即時のアクティビティで同じ共有設定値を使用する必要がある場合、どちらを使用する必要がありますか? Preferenceの値が更新されている場合は、アプリケーションが再起動されるまで反映されません。
以下を参照することができます..!正確に何ですか。私は初心者です。 –
UIスレッドはレイアウトを設定し、例えばonClickリスナーを設定するメインスレッドです。 – staaar
ディスクの書き込みなどの時間がかかる操作では、uiのレスポンスが低下します – fedepaol