2011-08-23 144 views
0

我正在运行应用程序在泄漏的我发现20%的内存问题。内存问题的方法

-(void)createLabel{ 

iconTitle=[[UICustomLable alloc]initWithMenuFrame:CGRectMake(10, 35, 80, 60) text:TAB_LANDSCAPE_WALL]; 
    [myView addSubview:wbgImg]; 
    [myView addSubview:iconTitle]; 
    iconTitle=nil; 


    iconTitle=[[UICustomLable alloc]initWithMenuFrame:CGRectMake(10, 35, 80, 60) text:TAB_WALL]; 
    [myView addSubview:wbgImg]; 
    [myView addSubview:iconTitle]; 
    iconTitle=nil; 
} 

即使我松开还

-(void)createLabel{ 

iconTitle=[[UICustomLable alloc]initWithMenuFrame:CGRectMake(10, 35, 80, 60) text:TAB_LANDSCAPE_WALL]; 
    [myView addSubview:wbgImg]; 
    [myView addSubview:iconTitle]; 
     [iconTitle release]; 
    iconTitle=nil; 


    iconTitle=[[UICustomLable alloc]initWithMenuFrame:CGRectMake(10, 35, 80, 60) text:TAB_WALL]; 
    [myView addSubview:wbgImg]; 
    [myView addSubview:iconTitle]; 
    [iconTitle release]; 
     iconTitle=nil; 
} 

我在viewDidLoad中调用此方法

[self createLabel]; 

@All

任何一个可以帮助我走出这个问题。

回答

0

当您拨打allocinit,copynew时,您应该始终释放一个对象。

使用analyze时可以发现一些内存泄漏。转到产品 - >分析。

0

检查您的UICustomLable类是否包含内存泄漏,并通过release关键字使用第二种解决方案。同时从设备/模拟器中删除应用程序并清理项目(cmd + shift + k),然后重新构建并再次尝试。 :)

0

如果你的UICustomLable没有内存泄漏,那么你似乎在你的init方法中为“wbgImg”分配内存。确保你在dealloc中释放它。

在iOS 5.0中有一项名为ARC(自动引用计数)的新技术,基本上你将来不需要担心这一点。