1
我有一段代碼&我想了解內存泄漏的可能性。我已經通過Apple文檔here!內存泄漏在下面的簡單代碼
這裏的代碼從參數&處理數組,將字典存儲到臨時數組中。
+ (void)setLinkedProfiles:(NSArray *)profileData {
NSMutableArray *returnArray = [[NSMutableArray alloc]init];
if([profileData count] > 0) {
for(NSDictionary *dict in profileData) {
NSDictionary *tempDict = @{
@"verifiedEmail" : ([[dict objectForKey:@"verifiedEmail"] isKindOfClass:[NSNull class]]) ? @"": [dict objectForKey:@"verifiedEmail"],
@"identifier" : [dict objectForKey:@"identifier"],
};
[returnArray addObject:tempDict];
}
}
[SharedApp sharedUserData].linkedProfiles = returnArray;
}
我懷疑代碼SharedApp sharedUserData].linkedProfiles = returnArray
的行可能會產生內存泄漏。 我想了解爲什麼&在哪種情況下? 有人可以幫助我理解這一點嗎?
感謝您閱讀&瞭解我的問題。
你聲明這樣的數組,NSMutableArray * returnArray = [NSMutableArray array]; – karthika
您的項目是否啓用ARC?靜態分析儀是否顯示任何警告?泄漏儀器是否顯示泄漏? –
是的,配置文件分析器顯示爲行 NSMutableArray * returnArray = [[NSMutableArray alloc] init]; 「方法返回帶+1保留計數的Objective-C對象」 和 [SharedApp sharedUserData] .linkedProfiles = returnArray; 對象泄漏:分配並存儲到'returnArray'中的對象稍後在此執行路徑中未引用,並且保留計數爲+1 –