簡體   English   中英

儀器中的內存泄漏

[英]Memory leaks in Instruments

我的代碼中有很多泄漏,但是沒有一個泄漏指向我的任何代碼(它們都是UIKit方法)。

我正在運行3.0。

有人可以告訴我如何解決這些泄漏的源頭嗎?

請注意如何解釋有關泄漏發生位置的信息。 例如,泄漏“占位符”字符串很常見-默認字符串在對象構造的早期分配,然后通常由您自己的自定義代碼覆蓋。 雖然您沒有直接分配占位符,但是您確實需要正確處理覆蓋。 換句話說,泄漏是可以避免的,可以說是您的錯。

但是,SDK中存在一些泄漏。 例如, UIWebView肯定會泄漏一點。

您能告訴我們泄漏的調用堆棧嗎? (“ Instruments / View / Extended Detail”可查看堆棧。

感謝您的幫助。

我要做的就是在這里加載UITableView 但是我確實調用了asyncimageview類來進行圖標加載,並且正在使用Singleton類作為數據源。

無論如何,每種類型(即GSEVENTs )的所有泄漏都報告了完全相同的細節。 沒有顯示所有詳細信息的項目不會報告我的任何類或方法。

以下是快照:

連結文字

我讀過一些有關UIAccelerometer錯誤(我需要使用)的錯誤,這些錯誤可能導致GSEVENT問題。

我將cellforrow配對到最低限度,沒有任何額外的類(單例除外)。 然后必須在單例中。 我幾乎使用TheElements示例代碼來構建該類。

這是我的cellForRowAtIndexPath現在(即使帶有此功能鍵,即使滾動時應用程序仍會泄漏):

static NSString *myCell = @"myCell";
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];

UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:myCell];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:myCell] autorelease];
}
UILabel *l=[[[UILabel alloc] initWithFrame:CGRectMake(10,10,200,16)] autorelease];
l.backgroundColor=[UIColor blackColor];
l.font=[UIFont boldSystemFontOfSize:15];
l.textColor=[UIColor whiteColor];
l.text=[(NSDictionary *)[[News sharedNews].newsArray objectAtIndex:indexPath.row] objectForKey:@"text"];
[cell.contentView addSubview:l];

return cell;

原來是加速度計。 我將其刪除,泄漏消失了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM