В настоящее время у меня есть утечка в этой линии в приборах, каждый раз, когда это называется, я теряю несколько сотен К -
NSData *dataRef = UIImagePNGRepresentation([UIImage imageNamed:@"Icon.png"]);
ABPersonSetImageData(newRecord, (CFDataRef)dataRef, nil);
Когда я исключаю вышеприведенные строки, я в порядке.
dataRef упоминается только здесь во всей программе. Я попытался CFrelease-in как тест, но это вызывает сбой из-за ссылки на освобожденный объект.
Я попытался объединить все в одну строку,
ABPersonSetImageData(newRecord,(CFDataRef) UIImagePNGRepresentation([UIImage imageNamed:@"Icon.png"]), nil);
но я получил те же результаты.
В первый раз я бы почти ожидал утечку, поскольку известно, что Imagenamed кэширует объект изображения, и сообщалось, что вызов произошел до утечки до iOS4, но я не ожидаю продолжающихся утечек.
Есть идеи? подобные вопросы поднимались здесь раньше несколько раз, но никто, похоже, не получил ответа.