Swift 3で(クロッピング方法を使用して)CGImageをクロッピングすると、元のCGI画像はクロッピングされたバージョンによって参照されます - 文書とAllocationsの機器私。Swift:クロッピングされたCGI画像を「圧縮」
元に戻すスタックには、切り抜かれたCGImageオブジェクトが置かれています。元のバージョンでは、元に戻す要素ごとに約21MBのメモリが必要です。
が「コンパクト」トリミングされたCGImageへの明白な方法はありません、それは元から独立して作られていますので、私は現在、(すべての力がアンラップなし)次のような何かを行っている:
let croppedImage = original.cropping(to: rect)!
let data = UIImagePNGRepresentation(UIImage(cgImage: croppedImage))!
let compactedCroppedImage = UIImage(data: data)!.cgImage!
をこれは完全に機能し、それぞれの元に戻すスナップショットは、想定されていた量のメモリしか占有しません。
私の質問です:これを達成するためのより良い/より速い方法がありますか?
パーフェクト!どうもありがとう! –