- iOS上的[NSUserDefaults synchronize]性能问题

时间:2012-08-28 12:53:02

标签: iphone ios performance nsuserdefaults

  

可能重复:
  Best Practice for NSUserDefaults synchronize

我致电-[NSUserDefault setIntegerValue:1 forKey:differentKeys]; 约50次,每次使用不同的钥匙, 然后拨打-[NSUserDefault synchronize];

这会对性能产生影响吗?这会对性能产生多大影响?

2 个答案:

答案 0 :(得分:4)

synchronize视为提交更改命令,因此如果您不需要每次都将其设置为默认值,则不需要。如果您同时对NSUserDefaults进行了大量更改,那么您可能只需要在结束时调用synchronize一次。这完全取决于您的具体需求。

此外,这方面的性能差异也会有所不同,具体取决于所存储的数据量,频率和设备的功能。总的来说,我建议尽可能少地拨打synchronize

答案 1 :(得分:3)

它会对性能产生很小的影响。也许不是你注意到的东西。 但是,只需在所有设置方法调用结束时调用-[NSUserDefaults synchronize];一次,因为它会将所有更改保存到文件中,而不是在每次更改后保存。