任何人都可以幫我解釋爲什麼這段代碼在泄漏,我們該如何處理它?iphone:從數據庫中讀取循環數據時發生內存泄漏
const char *sqlStatement = "SELECT * FROM VIOLATIONS_TBL";
sqlite3_stmt *compiledStatement;
if (sqlite3_prepare(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
while (sqlite3_step(compiledStatement) == SQLITE_ROW) {
NSString *recSTR=[[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 1)];
[self.pickerList addObject:recSTR];
[recSTR release];
recSTR=nil;
}
}
recSTR泄漏在這種情況下,我已經嘗試了所有的下面提到的解決方案,但沒有提前
pickerList是數組的數組和內部數組包含一個字符串。因此,tempRowArray的保留計數爲1,否則pickerList將指向無效的引用。釋放或清除pickerList應該放棄所有tempRowArrays。泄漏在哪裏? – Kay 2011-06-04 08:41:23