2014-02-20 31 views
4

我的应用程序在将uiimage转换为nsdata时崩溃,我在控制台中收到了这条消息。将uiimage转换为nsdata时内存泄漏应用程序崩溃

" Received memory warning" 

而且我的应用程序崩溃。使用

是这下面的代码转换的UIImage到NSData的,

NSData *imageData = UIImageJPEGRepresentation(image, 90); 

然后我使用这下面的代码转换NSData的到的UIImage:

CFDataRef imgData; 
    CGDataProviderRef imgDataProvider; 
    CGImageRef image1; 
    imgData = (CFDataRef)CFBridgingRetain([arraydata objectAtIndex:0]); 
    imgDataProvider = CGDataProviderCreateWithCFData (imgData); 
    CFRelease(imgData); 
    image1 = CGImageCreateWithPNGDataProvider(imgDataProvider, NULL, true, kCGRenderingIntentDefault); 
    CGDataProviderRelease(imgDataProvider); 

    imageView.image = CFBridgingRelease(image1); 

    CGImageRelease(image1); 

任何一个可以帮助我摆脱这种问题?。

+0

它很难说什么是只能从代码造成的错误,但首先我会确保图像的尺寸不是太大,并且您不是在一个非常大或无限的循环中。我在代码中看到了你使用的indexPath.row,因此你可以循环使用数据,只要确保它不是永远的。 – Kyle

+1

确保你没有使用更大的图像尺寸... –

+0

@KananVora感谢您的回复,我从厨房采摘图像,所以我没有调整图像大小。 – Mutablegopi

回答

1

尝试转换NSData的图像是这样的:

imageView.image = [UIImage imageWithData:imageData];