首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查内存泄漏

检查内存泄漏
EN

Stack Overflow用户
提问于 2010-12-07 18:21:01
回答 2查看 165关注 0票数 1

您好,请告诉我,我的代码中是否有任何内存泄漏。

我正在解决我的应用程序中的内存泄漏,但在这里感到困惑,它会造成内存泄漏吗?

代码语言:javascript
复制
     NSMutableArray *dataArray=[[NSMutableArray alloc]init];

if(condition)
{
        [dataArray addObject:[appDelegate selectFromDatabase:x]];//returning an autoreleased array
}
else
{
dataArray=[appDelegate selectFromDatabase:a];
}
     //use dataArray

        [dataArray release];
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-07 18:30:22

此代码将泄漏内存。您在不释放旧值的情况下重新分配dataArray。通过生成的属性进行赋值,将首先释放旧值。

代码语言:javascript
复制
else
{
    dataArray=[appDelegate selectFromDatabase:a];
}

您还可以重构代码,以避免创建数组,除非您确实需要它:

代码语言:javascript
复制
if (condition)
{
    // Create array here
}
else
{
    // get array from other place
}
票数 4
EN

Stack Overflow用户

发布于 2010-12-07 23:18:33

您可以使用Instruments帮助您搜索内存泄漏。

http://www.cimgf.com/2008/04/02/cocoa-tutorial-fixing-memory-leaks-with-instruments/

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

https://stackoverflow.com/questions/4375558

复制
相关文章

相似问题

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