Cocoa 重新计数内存不可用';预计起飞时间
我被困在可可记忆管理中Cocoa 重新计数内存不可用';预计起飞时间,cocoa,memory-management,Cocoa,Memory Management,我被困在可可记忆管理中 - (IBAction) createPush:(UIButton *)sender { [create setEnabled:NO]; [release setEnabled:YES]; aLocation = [[Location alloc] init]; // Put some Example Stuff in the Class aLocation.title = @"Apartment"; aLocation
- (IBAction) createPush:(UIButton *)sender {
[create setEnabled:NO];
[release setEnabled:YES];
aLocation = [[Location alloc] init];
// Put some Example Stuff in the Class
aLocation.title = @"Apartment";
aLocation.street = @"Examplestreet 23";
aLocation.zip = @"12345";
aLocation.city = @"Exampletown";
aLocation.http = @"http://google.com";
aLocation.info = @"First Info Text";
aLocation.info2 = @"Second Info Text, not short as the first one";
aLocation.logoPath = @"http://google.de/nopic.jpg";
[aLocation.pictures addObject:@"http://google.de/nopic.jpg"];
[aLocation.pictures addObject:@"http://google.de/nopic.jpg"];
}
- (IBAction) releasePush:(UIButton *)sender {
[release setEnabled:NO];
[create setEnabled:YES];
[aLocation release];
aLocation = nil;
}
如果我设置或获取变量,这段代码可以正常工作,但是当我调用“last”版本(因此retain count为0)时,它调用了aLocation的dealloc方法,但是在Instruments分配中,您会看到没有返回内存
以下是位置来源:
对于头文件,使用“.h”而不是“.m”的相同链接(很抱歉,这是因为垃圾邮件规则)
整个项目:
谢谢你的帮助,我的失败在哪里?丹尼斯
如果我设置或获取
变量,但当我调用'last'
释放(因此保留计数为0)它
ALOCION gets的dealloc方法
打过电话,但用仪器分配
你看,没有记忆被归还
你说的“没有回忆”是什么意思
尽管名称很奇怪,aLocation
的内存管理与上面的代码是正确的(假设您也在dealoc
中发布了它)
为什么释放单个对象时内存使用不减少 (意译) 很可能您的对象相对较小,因此,单个释放低于仪器中显示所需的~20K左右 如果你的应用程序由于内存使用问题而崩溃,那么从单一的释放开始是错误的。首先要做的是回答为什么你的应用程序会增加内存,以及是什么导致了内存的增长 将分配工具配置为仅跟踪实时分配。然后按总内存使用量排序。这将显示消耗内存最多的是哪种类型的分配。从减少这个开始 在这些情况下可能非常有效 如果我设置或获取 变量,但当我调用'last' 释放(因此保留计数为0)它 ALOCION gets的dealloc方法 打过电话,但用仪器分配 你看,没有记忆被归还 你说的“没有回忆”是什么意思 尽管名称很奇怪,
aLocation
的内存管理与上面的代码是正确的(假设您也在dealoc
中发布了它)
为什么释放单个对象时内存使用不减少 (意译) 很可能您的对象相对较小,因此,单个释放低于仪器中显示所需的~20K左右 如果你的应用程序由于内存使用问题而崩溃,那么从单一的释放开始是错误的。首先要做的是回答为什么你的应用程序会增加内存,以及是什么导致了内存的增长 将分配工具配置为仅跟踪实时分配。然后按总内存使用量排序。这将显示消耗内存最多的是哪种类型的分配。从减少这个开始
在这种情况下非常有效。这里有更多的信息,因为链接数量最多,我没有机会发布图片 你说的“没有回忆”是什么意思 我会给你看仪器的运行情况,然后应该是清晰的。
如果需要更多详细信息,请点击仪器运行。此处提供更多信息,因为链接数量最多,我没有机会发布图像 你说的“没有回忆”是什么意思 我会给你看仪器的运行情况,然后应该是清晰的。
如果需要更多详细信息,请点击仪器运行。您的代码很好。你弄错了仪器的输出。没有位置对象泄漏
对于泄漏,使用“泄漏”仪器。它不会开火。:-) 您的代码很好。你弄错了仪器的输出。没有位置对象泄漏
对于泄漏,使用“泄漏”仪器。它不会开火。:-) 这是所有与
位置相关的代码吗?例如,它不会被放入数组中?是的,这就是全部!如果您想更仔细地查看,请下载源代码。这是所有与位置相关的代码吗?例如,它不会被放入数组中?是的,这就是全部!如果你想更仔细地看一看,请下载源代码。好的,听起来不错。但是为什么不在释放aLocation对象时减少内存使用量呢。我不清楚。问题是,这个类是一个更大项目的一部分,如果你使用这个应用程序,内存使用量会大到应用程序崩溃的程度。好吧,听起来不错。但是为什么不在释放aLocation对象时减少内存使用量呢。我不清楚。问题是,这个类是一个更大项目的一部分,如果你使用这个应用程序,内存使用量是如此之大,以至于应用程序崩溃。谢谢你的链接。我以前不知道,我想这对我应该有帮助。谢谢你的链接。我以前不知道这件事,我想这应该对我有帮助。