我在代碼中使用兩個對象,即pagesUrl和pagesXmlParser,並且在它們使用後,釋放這兩個對象。它運行良好,但它顯示內存泄漏。當我試圖驗證它時,我檢查了這些對象的引用計數,並在對象釋放後顯示'1'。任何人都可以幫助我解決如何刪除泄漏以及如何在下面的代碼中釋放這些特定的對象。iPhone:此代碼中存在內存泄漏?
-(void)loadPagesForChapter:(NSString *)path{
// have to parse the pages xml for this chapter
NSURL *pagesUrl = [[NSURL alloc] initFileURLWithPath:[self pagesXmlPath:path]];
NSXMLParser *pagesXmlParser = [[NSXMLParser alloc] initWithContentsOfURL:pagesUrl];
PagesAccumulator *pageLoader = [[PagesAccumulator alloc] init];
pagesXmlParser.delegate = pageLoader;
[pagesXmlParser parse];
// parsing pages done
// get the pages array
self.arrayOfPages = pageLoader.arrayOfPages;
[pageLoader release];
[pagesXmlParser release];
[pagesUrl release];
NSLog(@"pagesurl retain count is:%d",[pagesUrl retainCount]);
NSLog(@"pagesxmlparser retain count is:%d",[pagesXmlParser retainCount]);
}
在此先感謝您的幫助。
泄漏在設備或模擬器中 - 如果模擬器泄漏在設備上測試 - 模擬器有時會給您不正確的結果! – deanWombourne 2010-12-14 13:39:15