【发布时间】:2013-04-18 17:39:47
【问题描述】:
下面的代码有内存泄漏吗?我猜不,但对我来说,下面的代码分配内存但不释放它。
感谢任何帮助
@autoreleasepool {
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
for (int i = 0; i < 300000; i++) {
@autoreleasepool {
[dict setObject:[NSNumber numberWithInt:i] forKey:[NSNumber numberWithInt:i]];
}
}
[dict removeAllObjects];
}
【问题讨论】:
-
不应该。您是否正在运行一些指示存在内存泄漏的工具?
-
不,我在 ActivityMonitor 中看到内存。泄漏命令不显示任何泄漏。由于 QA/Manager 只考虑活动监视器,它应该放在里面。
-
哪些对象没有释放?
-
他在活动监视器中查看的具体内容是什么?很可能,他对某些东西的解释有误。
-
您发布的代码中的每个对象都是自动释放的对象。这包括
NSMutableDictionary和两个NSNumber对象。
标签: objective-c