首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Objective-C /数组中的内存泄漏

Objective-C /数组中的内存泄漏
EN

Stack Overflow用户
提问于 2011-06-02 00:11:34
回答 3查看 309关注 0票数 1

我正在看某人的代码,我知道一般的规则是,如果你有alloc/init,你需要释放那个内存。他使用了大量的NSMutableArrays,分配/初始化它们,但没有释放它们。如果我没有看到任何其他释放/自动释放消息发送到创建的阵列,我是否可以简单地将自动释放消息发送到该阵列?我基本上也不想让他的代码崩溃和停止工作。

使用NSMutableArrays时,当您发送消息addObject并且该数组中的对象增加其保留帐户时,如果该数组被释放,但该对象从未从该数组中获得release或removeObject,这是否也是内存泄漏?谢谢。

EN

Stack Overflow用户

发布于 2011-06-02 00:14:00

NSArrayNSMutableArray在它们被销毁时释放它们的所有对象,因此,如果使用retainrelease (或autorelease)正确管理数组,则其中的对象不会泄漏。但如果有从未发布的数组,它们将会泄漏,其中的所有内容也会泄漏。

在没有看到代码的情况下,很难提倡只在所有地方添加autorelease,但是对于只在单个函数的上下文中使用的数组(并且没有分配给ivar或静态变量),答案是肯定的,它们应该是autoreleased。或者更通俗地说,使用像+arrayWithCapacity这样的方法创建它们,该方法返回一个已经添加到自动释放池中的对象。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6204302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档