2011-10-29 44 views
2
NSString *hostStr2 = [[NSString alloc] initWithFormat:@"http://%@/getplaylist.php?ip=%@",yourip,restip]; 
NSLog(@"XMLAppDelegate checkstatusthread call to php for status,playlist and nowplaying XML's %@" ,hostStr2); 
NSData *dataURL2 =[NSData dataWithContentsOfURL: [ NSURL URLWithString: hostStr2 ]]; 
[hostStr2 release]; 

NSString *playlistdata=[[NSString alloc] initWithData:dataURL2 encoding:NSASCIIStringEncoding]; 
NSArray *ipItemsArray; 

// memory leak showing at below line  
ipItemsArray =[playlistdata componentsSeparatedByString:@"|^|"]; 

[playlistdata release]; 

我所存儲ipItemsArray是用分隔符分隔的大XML數據使用數組元素時避免內存泄漏「|^|」。 問題是,當我運行它這是給這個數組內存泄漏。 是否有任何其他類型的數組,我們可以使用或可以更好地優化此代碼,以便我可以擺脫發生內存泄漏。在iPhone應用程序

+1

是什麼讓你覺得這條線正在泄漏?你用過什麼工具?我在這段代碼中看不到任何內存泄漏,這條線正在創建一個自動釋放陣列。 – jrturton

+0

同意上述內容。代碼很好,但如果ipItemsArray是你想要保留的IVAR,你需要在創建自動釋放數組時保留它。 – memmons

+0

在配置文件下的XCode中,我使用該工具查找稱爲泄漏的泄漏。當我在這個配置文件下運行它時,它會在上面的行代碼中顯示內存泄漏。順便說一句,這隻有當我們將它連接到iPhone並使用此分析工具時才起作用。 – maddy2012

回答

-1

更好地分配內存到該陣列。並在dealloc中釋放一個方法

+0

我不認爲這會更適合我正在開發的應用程序,因爲它存儲兩個XML並且需要較大或有時較小的大小。不管怎樣,謝謝。 – maddy2012