您好,请告诉我,我的代码中是否有任何内存泄漏。
我正在解决我的应用程序中的内存泄漏,但在这里感到困惑,它会造成内存泄漏吗?
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];发布于 2010-12-07 18:30:22
此代码将泄漏内存。您在不释放旧值的情况下重新分配dataArray。通过生成的属性进行赋值,将首先释放旧值。
else
{
dataArray=[appDelegate selectFromDatabase:a];
}您还可以重构代码,以避免创建数组,除非您确实需要它:
if (condition)
{
// Create array here
}
else
{
// get array from other place
}发布于 2010-12-07 23:18:33
您可以使用Instruments帮助您搜索内存泄漏。
http://www.cimgf.com/2008/04/02/cocoa-tutorial-fixing-memory-leaks-with-instruments/
https://stackoverflow.com/questions/4375558
复制相似问题