1
當在Swift 3中剪裁CGImage時(使用.cropping方法),原始CGImage被剪切版本引用 - 根據文檔和根據Allocations樂器顯示的內容我。Swift:壓縮剪裁的CGImage
我將剪裁的CGImage對象放在撤消堆棧上,因此原始版本對每個撤消元素約21mb內存「保留」我。
由於沒有明顯的方式,以「緊湊的」裁剪CGImage並將其製成獨立於原始,我現在做了類似下面的內容(沒有所有的力展開):
let croppedImage = original.cropping(to: rect)!
let data = UIImagePNGRepresentation(UIImage(cgImage: croppedImage))!
let compactedCroppedImage = UIImage(data: data)!.cgImage!
這完美地工作,現在每個撤銷快照只佔用它應該佔用的內存量。
我的問題是:有沒有更好/更快的方式來實現這一目標?
完美!非常感謝! –