我目前在仪器的这条线上有泄漏,每次调用时我都会泄漏几百K-
NSData *dataRef = UIImagePNGRepresentation([UIImage imageNamed:@"Icon.png"]);
ABPersonSetImageData(newRecord, (CFDataRef)dataRef, nil);
当我排除以上几行时,我很好。
在整个程序中,这里只提到了dataRef。我尝试 CFrelease-ing 将其作为测试,但这会由于引用已释放的对象而导致崩溃。
我尝试将它们全部连接成一行,
ABPersonSetImageData(newRecord,(CFDataRef) UIImagePNGRepresentation([UIImage imageNamed:@"Icon.png"]), nil);
但我得到了相同的结果。
我预计第一次会发生泄漏,因为众所周知 Imagenamed 会缓存图像对象,并且据报道该调用会泄漏 iOS4 之前的版本,但我不希望会持续泄漏。
有任何想法吗?之前已经在这里提出过几次相关问题,但似乎没有人有答案。