仪器:创建UIButton时内存泄漏

时间:2011-01-09 15:50:08

标签: iphone memory-leaks uibutton instruments iboutlet

我试图找出在界面构建器中创建UIButton的原因 - 在xcode运行instrument应用程序时发生内存泄漏。

这就是我创建内存泄漏的方法。

我打开了一个新的应用程序,在界面构建器中打开了myAppViewController.xib文件。 我将背景改为黑色。 添加了一个UIButton,将其重命名为“foo”标题。 保存然后退出。

在myAppViewController.h文件中,我有以下

#import <UIKit/UIKit.h>

@interface miPlanNewViewController : UIViewController { 
    IBOutlet UIButton *tasksProjects; 
}
@property(nonatomic, retain) IBOutlet UIButton *tasksProjects;
@end

在myAppViewController.m文件中,我有以下内容:

#import "miPlanNewViewController.h"

@implementation miPlanNewViewController
@synthesize tasksProjects;

...
//the normal methods you get
...
- (void)dealloc {
    [super dealloc];
}
@end

以下是我在乐器中获得的内容的屏幕截图。

alt text alt text

然而我注意到的一件事......

我还没有在界面构建器中将Outlet连接到uibutton,但是当我从界面构建器中删除UIButton时,保存,然后再次使用乐器运行程序,我根本没有任何泄漏。< / p>

有人可以解释一下发生了什么以及如何解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:2)

  • 首先,你没有发布财产。 在dealloc你应该有 [tasksProjects release];并且在viewDidUnload中,您应该self.taskProjects = nil;
  • 其次,正如lxt所说,你不应该使用模拟器进行内存泄漏检查。
  • 第三,检查您是否正在构建版本而不是调试。