UserDefaults的多次设置导致显示速度变慢

时间:2017-09-16 05:02:04

标签: swift performance memory nsuserdefaults

我有一个相当广泛的应用程序,我存储了大量数据。 CLLocation,数组,CGPoints等。有时需要在设备上保存所有这些变量,因此我使用UserDefaults。然而,经过一段时间切换ViewControllers并简单地使用应用程序(不断更改数据=>常量保存它)后,我发现一切都运行缓慢。

现在,假设我有或多或少有三个二维数组,并且假设有5个Int我要保存到UserDefaults。

每次我更改其中一个变量时,我都会用相同的命令“更新”它:

UserDefaults.standard.set(data, forKey: "UDdata"). 

因此,每当我想要更改数据时,我都会通过该特定注释进行更改。我想每次我这样做,我都应该以某种方式摆脱关键UDdata的先前数据,然后用相同的密钥字符串设置它?关于这个问题的信息将是有用的。提前致谢

1 个答案:

答案 0 :(得分:2)

原因是您滥用了Userdefaults。它们用于存储小值,如标志,以检测首次启动,首选项等。而不是在Userdefaults中存储数据,只是尝试使用CoreData或SQLite。哪种方式也更容易使用。

CoreData: https://www.raywenderlich.com/145809/getting-started-core-data-tutorial

SQLite: https://www.raywenderlich.com/123579/sqlite-tutorial-swift