5
我工作圍繞通訊錄框架時,我發現了不同類型的一些內存泄漏在我的應用程序:的iOS - 內存泄露通訊錄
Leaked Object # Address Size Responsible Library Responsible Frame
__NSCFArray 8 <multiple> 256 Bytes AddressBook ABCMultiValueInsertAndCreateIdentifier
__NSCFString 7 <multiple> 224 Bytes AppSupport _sqliteStatementApplyValuesFromRecordWithNullValue
Malloc 32 Bytes 8 <multiple> 256 Bytes AddressBook ABCMultiValueInsertAndCreateIdentifier
__NSCFArray 8 <multiple> 256 Bytes AddressBook ABCMultiValueInsertAndCreateIdentifier
ABCMultiValue 8 <multiple> 256 Bytes AddressBook ABCMultiValueCreate
Malloc 32 Bytes 7 <multiple> 224 Bytes AddressBook ABCMultiValueInsertAndCreateIdentifier
__NSCFArray 7 <multiple> 224 Bytes AddressBook ABCMultiValueInsertAndCreateIdentifier
Malloc 32 Bytes 5 <multiple> 160 Bytes AddressBook ABCMultiValueInsertAndCreateIdentifier
這裏是我的代碼:
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {
SDAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
ABMultiValueRef multiRef = ABRecordCopyValue(person, kABPersonPhoneProperty);
NSString *number = (__bridge NSString *) ABMultiValueCopyValueAtIndex(multiRef, 0);
NSString *firstname = (__bridge NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
NSString *lastname = (__bridge NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);
number = (number ? number : @"");
firstname = (firstname ? firstname : @"");
lastname = (lastname ? lastname : @"");
NSDictionary *dic = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:number, firstname, lastname, nil] forKeys:[NSArray arrayWithObjects:kSDPhoneNumberKey, kSDFirstnameKey, kSDLastnameKey, nil]];
NSMutableArray *numberArray = [NSMutableArray arrayWithArray:appDelegate.contactArray];
[numberArray addObject:dic];
[appDelegate setContactArray:numberArray];
[self.tableView reloadData];
[self dismissModalViewControllerAnimated:YES];
return NO;
}
做別人知道哪些線路是造成這些泄漏的原因?
哇,非常感謝!沒有更多的內存泄漏和分析工具是驚人的,我不知道它在那裏! – Yaman