4

重複の可能性:
NSUserDefaults 同期のベスト プラクティス

私は-[NSUserDefault setIntegerValue:1 forKey:differentKeys]; 約 50 回呼び出しますが、毎回異なるキーを使用して呼び出します。-[NSUserDefault synchronize];

これはパフォーマンスに影響しますか? パフォーマンスへの影響は何回ありますか?

4

2 に答える 2

4

commit changes コマンドと考えsynchronizeてください。したがって、値をデフォルトに設定するたびに呼び出す必要がない場合は、必要ありません。同時に多くの変更を行っている場合NSUserDefaultsは、おそらくsynchronize最後に 1 回呼び出すだけで済みます。これはすべて、特定のニーズに応じて異なります。

さらに、このパフォーマンスの違いは、保存されるデータの量、頻度、およびデバイスの機能によっても異なります。全体として、電話synchronizeはできるだけ少なくすることをお勧めします。

于 2012-08-28T13:00:12.127 に答える
3

パフォーマンスへの影響はわずかです。たぶん、あなたが気づくものではありません。-[NSUserDefaults synchronize];ただし、個々の変更ごとではなく、すべての変更をファイルに保存するため、すべての set メソッド呼び出しの最後に一度だけ呼び出す方がよいでしょう。

于 2012-08-28T12:59:23.777 に答える