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