Objective-C:内存泄漏与自动释放的多重分配?

Posted

技术标签:

【中文标题】Objective-C:内存泄漏与自动释放的多重分配?【英文标题】:Objective-C : memory leak or not with multiple assignation with autorelease? 【发布时间】:2011-01-05 17:42:50 【问题描述】:

如果我做以下事情,这会导致内存泄漏吗?

SomeClass* tmp;
NSDate* thetmpdate;

tmp = [[[SomeClass alloc] init] autorelease];
thetmpdate = [NSDate date];
// Do something long with tmp and date

tmp = [[[SomeClass alloc] init] autorelease];
thetmpdate = [NSDate date];
// Do something long with tmp and date

tmp = [[[SomeClass alloc] init] autorelease];
thetmpdate = [NSDate date];
// Do something long with tmp and date

【问题讨论】:

【参考方案1】:

不,您发布的代码没有泄漏。 当自动释放池被刷新时,所有对象都将被自动释放,无论持有其指针的变量是否改变。

【讨论】:

以上是关于Objective-C:内存泄漏与自动释放的多重分配?的主要内容,如果未能解决你的问题,请参考以下文章

在 Objective-C 中使用 TBXML 时的内存泄漏

内存泄漏与自动释放的字符串 iphone

请问Objective-c 内存溢出问题经验汇总,那个好心人共享一下

Objective-C 有没有办法判断一个对象是不是设置为自动释放?

QByteArray导致的内存泄漏问题

在objective-c中捕获内存泄漏的设计模式?