Swift - 缩略图创建内存崩溃

时间:2016-11-29 13:37:12

标签: ios xcode swift2

我正在使用UIImageJPEGRepresentation为照片库中的照片创建缩略图。在write方法中,我将返回的图像转换为数据。当我评论UIImagePNGRepresentationfun generateAndSaveThumbnail() { let requestOptions = PHImageRequestOptions() requestOptions.synchronous = true requestOptions.deliveryMode = .FastFormat requestOptions.networkAccessAllowed = true for item in 0..<fetchResult.count { if let asset = fetchResult[item] as? PHAsset { if let fileName = asset.valueForKey("filename") as? String { if fileExistAtPath(path) == false { PHImageManager.defaultManager().requestImageForAsset(asset, targetSize: thumbnailSize, contentMode: PHImageContentMode.AspectFill, options: requestOptions, resultHandler: { (image, _) in MyFileManager().writeThumbnailImage(image, imageName: fileName) }) } else { //File exist at path } } else { //File name missing } } else { //asset error } } } func writeThumbnailImage(image: UIImage?, imageName: String) -> Bool { if image == nil { return false } var imageData: NSData? = nil if imageName.capitalizedString.containsString(kJPGExt) { print("JPG Image conversion") imageData = UIImageJPEGRepresentation(image!, 0.8) } else { print("PNG Image conversion") imageData = UIImagePNGRepresentation(image!) } if imageData != nil { let path = getFilePathForType(mediaType, imageName: imageName) return writeDataToPath(path, data: imageData) } return false } 时,内存是稳定的。

在iOS 10.0及更高版本的iPad中,我观察到巨大的内存消耗,最终在没有任何日志的情况下崩溃。对于所有其他OS版本(低于10.0),内存稳定且不会发现崩溃。

我在

下面添加了一个示例代码
Message from debugger: Terminated due to memory issue

内存不断上升,最终在控制台中收到以下消息

mounted

感谢任何帮助。谢谢。

0 个答案:

没有答案