Using gesture recognizer for SwiftUI view cause memory warning

I'm implementing swift UI image view overlaid by canvas view in Pencil kit

Because Pencil kit is in UIKit
I create another class for creating gesture recognizer

Thankfully it work so I can zoom or pan on canvas view and the underling image view is responding

But unlikely using Gesture and GestureState in SwiftUI It cause memory issue when I just zoom image it take almost 1GB

Here is my code


class GestureDelegate: NSObject, ObservableObject, UIGestureRecognizerDelegate {

	var zoomScale: CGFloat {

		fixedZoomScale * gestureZoomScale

	}

	var fixedZoomScale: CGFloat = 1

	@Published var gestureZoomScale: CGFloat = 1

private(set) lazy var pinchGestureRecognizer: UIPinchGestureRecognizer = {

		let pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(pinchImage(_:)))

		pinchGesture.delegate = self

		return pinchGesture

	}()

Here is canvas view in UIViewRepresentable There is pan gesture recognizer also but there is no problem with pan gesture


struct BlurMaskView: UIViewRepresentable {

	private let canvas: PKCanvasView

	private let gestureDelegate: GestureDelegate

	func makeUIView(context: Context) -> PKCanvasView {

		canvas.drawingPolicy = .anyInput

		canvas.tool = tool

		canvas.backgroundColor = .clear

		canvas.addGestureRecognizer(gestureDelegate.pinchGestureRecognizer)

		canvas.addGestureRecognizer(gestureDelegate.panGestureRecognizer)

		return canvas

	}
Using gesture recognizer for SwiftUI view cause memory warning
 
 
Q