iOS 核心数据怎么会泄露?

标签 ios iphone core-data memory memory-management

我正在分析我的应用程序是否存在泄漏,我观察到一些核心数据实体正在泄漏,NSManagedObject 怎么会泄漏?我以为它是由操作系统管理的?核心数据是否存在已知泄漏? Leaks 所说的导致泄漏的行是

NSMutableArray *e=[NSMutableArray  arrayWithArray:[[user videos] allObjects]];
    //the line above ^ is pointed to by leaks as generating a leak
for(VideoEntity * v in e)
{
    UploadThread *ut= [[UploadThread alloc] init];
    [ut setVideoEntity:v];
    [threads addObject:ut];
    [ut release];
}

其中 user 是一个包含 VideoEntity 作为一对多关系的托管对象,我将 VideoEntity 分配给一些线程进行操作...Leaks 说 VideoEntity 正在泄漏。

有人有意见吗?

最佳答案

UploadThread 可能会保留它并且永远不会释放它。是的,NSManagedObjects 会泄漏。它们只是对象。它们是系统其余部分使用的相同内存管理的一部分。

关于iOS 核心数据怎么会泄露?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4056198/

相关文章:

ios - 如何在Swift中引用类型本身

ios - SkobblerFrameWork 未获取确切位置

iphone - NavigationController initWithRootViewController dealloc

iphone - UIAlertView 按钮( subview )未在 iOS 7 中显示

iphone - 核心数据 TableView 部分使用 NSSortDescriptor 按工作日排序

ios - 如何将步进值传递给 ViewController?

ios - 是否可以让 iOS 应用程序在关闭时处理 WatchKit 连接请求?

ios - FileManager MoveItem 回调 - Swift

iphone - 核心数据获取崩溃

iphone - 核心数据错误:由于未捕获的异常 'NSInvalidArgumentException'而终止应用程序,原因: 'Can'对对象0进行正则表达式匹配