iphone – 将UIview转换为导致内存泄漏的UIimage

我正在使用coverFlow视图为iPhone开发应用程序,当应用程序正在构建卡时,它正在使用UIView来添加标签和其他内容.然后我使用以下代码将UIView转换为UI
Image

UIGraphicsBeginImageContext(imageView.bounds.size);
[imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

// returning the UIImage
return viewImage;

每次我重绘封面流量时,我都有一个巨大的内存分配增量,即使我取消了我的coverFlow视图也不会减少.

我认为内存泄漏在我添加的代码中,你怎么看?

最佳答案 您提供的代码段中没有明显的内存泄漏.由于UIGraphicsBeginImageContext(),无法在后台线程上执行该操作,因此您应该有一个NSAutoreleasePool(UIGraphicsGetImageFromCurrentContext()的返回值是自动释放的).如果没有进一步的信息,就无法分辨出内存泄漏的位置 – 我建议您查看最终拥有viewImage对象的任何对象,并确保在保留UIImage时正确释放它.

点赞