我正在分析我的应用程序是否存在泄漏,我观察到一些核心数据实体正在泄漏,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/