作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在从 AddressBook 中获取图像时遇到了很大的问题,下面我粘贴了我的代码。此 imageData 从未被释放,在我的 Allocations Instruments 上它看起来总是在内存中它永远不会释放。
@autoreleasepool {
CFDataRef imageData = ABPersonCopyImageData(record);
if(imageData)
{
CFRetain(imageData);
CFRelease(imageData);
imageData = NULL;
imageData = nil;
}
}
最佳答案
您过度保留了 imageData
CFDataRef imageData = ABPersonCopyImageData(record); // Returns a +1 owned object
if(imageData)
{
CFRetain(imageData); // This is now +2
CFRelease(imageData); // This is now +1
imageData = NULL; // You've lost the pointer that lets you release it
imageData = nil; // Does nothing.
}
将它放在自动释放池中不会执行任何操作,因为您没有任何自动释放的对象。
关于ios - ABPersonCopyImageData 泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17198294/
我在从 AddressBook 中获取图像时遇到了很大的问题,下面我粘贴了我的代码。此 imageData 从未被释放,在我的 Allocations Instruments 上它看起来总是在内存中它
iOS4 SDK 4.0->4.02 中的 ABPersonCopyImageData 函数似乎返回未裁剪的图像并导致糟糕的性能和由于内存不足而崩溃。它使用了在 OC 版本 3.0->3.1.3 上正
我正在尝试读取我的 iOS 地址簿的联系人图片,但我遇到了一些问题。 我有一个方法可以读取 ABAddressBookRef 的联系人信息并将其放在结构中。 func readContacts(add
我是一名优秀的程序员,十分优秀!