我正在创建一个使用ARSKView的应用程序。我看到它在关闭ViewController时不会释放内存。我在代码中找不到任何问题。
这是我使用ARSKView的代码。

class ARViewController: UIViewController, ARSKViewDelegate {

    weak var sceneView: ARSKView?

    override func viewDidLoad() {
        super.viewDidLoad()
        sceneView = ARSKView(frame: self.view.frame)
        self.view.addSubview(sceneView!)
        sceneView?.delegate = self

        let scene = CustomScene(size: view.frame.size)
        scene.sceneDelegate = self
        sceneView?.presentScene(scene)
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        activateARView()
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        sceneView?.session.pause()
    }

    var configuration = ARWorldTrackingConfiguration()
    func activateARView() {
        configuration.worldAlignment = .gravityAndHeading
        sceneView?.session.run(configuration)
    }

}

最佳答案

控制器只是暂停,您可以尝试通过将控制器设置为“ nil”来确保在此之前清除所有依赖项。

08-17 08:57