应用程序启动时 CFData(商店)分配的来源

Source of CFData (store) allocation at app start

在应用程序启动时,我的 Cocoa 应用程序会立即创建两个 CFData 对象。一个大小为 34 MB,另一个大小为 57 MB。我似乎无法弄清楚这些对象是什么或它们来自 Instruments 中的何处。

两者都在 applicationWillFinishLaunching 完成之前分配。

我已经尝试清除 NSURLCache 以及清除我的 Kingfisher 图像缓存,并且愿意接受其他清除这些数据的想法。 如何找到这些分配的来源?

问题原来是由 NSUserDefaults 引起的。在开发的早期,我在那里保存了一些大文件,这些文件从未被删除。

这是 Instruments 调用树 揭示的内容。

从那里我尝试使用

NSUserDefaults.resetStandardUserDefaults()

但是那没有任何作用。也没有清理我的项目或手动删除派生数据文件夹。

遵循这个答案使我的 CFData 分配为零: Clearing NSUserDefaults