2011-08-23 55 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(自動引用計數)的新技術,基本上你將來不需要擔心這一點。