OGeek|极客世界-中国程序员成长平台

标题: iphone - 记录额外生命物体的仪器 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 21:15
标题: iphone - 记录额外生命物体的仪器

在我的应用程序的初始化中,我正在从 Core Data 托管对象上下文中读取一些数据。出于某种原因,即使 executeFetchRequest 代码行只被调用一次,我在 Instruments Allocations 工具对象列表中看到了 5 个事件条目。例如,如果我从 Instruments 中深入研究源代码,我会看到:

enter image description here

我在这一行设置了一个断点,并验证了应用只在这一行停止了一次。但是,这是我在 Instruments 中看到的结果:

enter image description here

如果我查看这 5 个对象中的每一个的堆栈跟踪,它们都完全相同,都指向第 135 行,如第一个屏幕截图所示。 (如您所见,我尝试了几种不同的方案,结果都一样。)

所以我有两个问题。

问题 #1:为什么我看到 5 个活体?

问题 #2:为什么这些物体会以某种方式存在?据我所知,一切都被正确释放,并包装在应该处理这些对象的自动释放池中。

我正在使用带有 iOS SDK 5.0 的 Xcode 4.2。任何想法,将不胜感激。谢谢。



Best Answer-推荐答案


CFData 实例只是数据 block 。也许它们代表数据库中的记录,但不知道 CoreData 的内部结构,这只是猜测。它们可以表示 managedObjectContext 保存的缓存数据,但这也只是推测。

如果您没有看到任何泄漏报告,我不会太担心。

如果有人对此有更深入的了解,请加入。

关于iphone - 记录额外生命物体的仪器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9419782/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4