2
我想解析使用SBJSON的JSON訂閱源,但每次我通過儀器運行它時,都會在一行中出現100%的內存泄漏。我肯定有不正確的東西,希望有所洞察。SBJSON解析器內存泄漏
我有一個城鎮桌面,當你點擊一個城鎮時,這個飼料將運行並獲取住在鎮上的人的列表,並在桌面視圖中解析它們。然而,每次我彈出的細節視圖返回城鎮的名單,並進入一個新的細節來看我結束了內存泄漏
SBJsonParser *parser = [[[SBJsonParser alloc] init] autorelease];
NSString *jsonString = [[NSString alloc] initWithData:[request responseData] encoding:NSUTF8StringEncoding];
id response = [parser objectWithString:jsonString error:NULL]; //100.0% memory leak
NSMutableDictionary *peopleDictionary = (NSMutableDictionary *)response;
NSMutableArray *buildingArray = [[NSMutableArray alloc] init];
if (peopleDictionary != nil) {
for (NSDictionary *dict in peopleDictionary) {
Person *incoming = [[Person alloc] init];
incoming.firstName = [dict objectForKey:@"firstName"];
incoming.lastName = [dict objectForKey:@"lastName"];
incoming.address = [dict objectForKey:@"address"];
[buildingFeedArray addObject:incoming];
[incoming release];
}
}
[jsonString release];
self.peopleArray = buildingFeedArray;
[self.tableView reloadData];
[buildingFeedArray release];
感謝您的迴應,我從那之後轉移到原生iOS 5 JSON解析器,它的工作原理好得多,但我嘗試了您的解決方案,並刪除了內存泄漏。 – Convolution
@捲動,很高興聽到。只是一個偶然的警告,只使用iOS5的API意味着你不能支持iOS 4.x,這意味着該應用程序不能安裝在低於幷包括iPhone 3G和iPod Touch第二代的模型 –
是的,是的,儘管開始在iOS 5中,我仍計劃在未來的項目中包含此代碼修復以支持較老的用戶。 – Convolution