開発も終盤にさしかかり、メモリをウォッチし始めたのですが、あるタイミングでメモリ使用量が跳ね上がるので何が原因か探ると、UIImageVIewでした。
カメラロールから取得したUIImageをUIImageViewにsetして表示すると、一つにつき30MB近く消費してしまいます。
そして、そのUIImageViewを削除するとその瞬間に綺麗にメモリが減ります。
実装には、QBImagePickerControllerというライブラリを利用しております。
何卒お力をお貸しください...
swift
1func qb_imagePickerController(imagePickerController: QBImagePickerController!, didFinishPickingAssets assets: [AnyObject]!) { 2 self.dismissViewControllerAnimated(true, completion: nil) 3 4 for asset in assets { 5 let phiManager = PHImageManager.defaultManager() 6 guard let phAsset = asset as? PHAsset else { return } 7 8 phiManager.requestImageDataForAsset(phAsset, options: nil, resultHandler: { (imageData, dataUTI, orientation, info) in 9 guard let data = imageData else { return } 10 guard let image = UIImage(data: data) else { return } 11 // ここで画像を表示するためにUIImageViewに追加 12 self.createPostView.addImageViewWithUIImage(image) 13 }) 14 } 15 }