2014-02-20 32 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];