Objective c CoreData插入和立即删除:内存使用量不断增长

Objective c CoreData插入和立即删除:内存使用量不断增长,objective-c,core-data,memory-leaks,Objective C,Core Data,Memory Leaks,我把一个测试应用程序放在一起,从一个命令行工具的起点开始,非常直接地使用支持核心数据的项目。ARC已启用 它基本上创建一个实体,保存它,从上下文中检索所有实体并删除它们 我不明白的是,为什么内存使用量越来越大? 谢谢你的澄清 这是测试程序: main.m 信息.h 你有这个 NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 如果从未发布,则应尝试将其初始化为自动释放 NSFetchRequest *fetchRequ

我把一个测试应用程序放在一起,从一个命令行工具的起点开始,非常直接地使用支持核心数据的项目。ARC已启用

它基本上创建一个实体,保存它,从上下文中检索所有实体并删除它们

我不明白的是,为什么内存使用量越来越大? 谢谢你的澄清

这是测试程序:

main.m 信息.h 你有这个

 NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
如果从未发布,则应尝试将其初始化为自动释放

 NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];

您不会在while循环中释放fetchRequest,它每0.005秒创建一个实例,然后泄漏它。此外,运行静态分析器可能会显示一些其他内存泄漏(如果存在)。感谢您的快速回答。好的,我添加了自动释放,但这没有任何区别。我还尝试在sleep命令之前调用release,但这对内存使用也没有影响。我对ARC如何处理内存有点困惑。我在许多编程语言方面都有丰富的经验,但我对objective c非常陌生,更令人困惑的是,您阅读的文档都是针对不同的内存处理方法编写的。但据我所知,在使用ARC时不必调用任何自动释放语句?是吗?嗯。。奇怪的是,你有没有试着把你的应用程序和探查器一起运行,看看mem allocs和leaks?我试图从探查器中获得一些有用的信息,但我真的不知道我应该寻找什么。我看的是Statistics->Object Summary,这两个最消耗内存的条目是Malloc 32字节和u_NSArrayM。如果我点击名字旁边的箭头,我会得到一个创建它们的列表?!到目前为止,调用方最多的是NSManagedObjectContext。第三个条目是NSUndoManager。截图会有帮助吗?还是我应该将项目归档并上传?
#import "Message.h"


@implementation Message

@dynamic string;

@end
 NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
 NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];