我无法将我的RealityKit
我知道使用ARKit+SceneKit时有(或可能有)类似的问题 - 例如这个解决方案:https://dev59.com/4lQJ5IYBdhLWcg3w8anH#53919730,但不幸的是它并不能解决我的问题。
以上解决方案通常通过手动删除所有“可疑”的内容来实现。这正是我在更广泛的范围内所做的。
我也会在外部调用doEverythingThatsNeeded()函数:
问题似乎与我将ARView或UIViewController包装在SwiftUI的UIViewRepresentable / UIViewControllerRepresentable中无关。
我相信这必须是一个错误,并且几个月前我已经提交了报告。但是我希望有一些解决方法,在Apple修复潜在问题之前能够帮助解决问题。
非常感谢!
ARView()
从内存中释放。我知道使用ARKit+SceneKit时有(或可能有)类似的问题 - 例如这个解决方案:https://dev59.com/4lQJ5IYBdhLWcg3w8anH#53919730,但不幸的是它并不能解决我的问题。
以上解决方案通常通过手动删除所有“可疑”的内容来实现。这正是我在更广泛的范围内所做的。
class ViewController_ARViewMemoryTest: UIViewController {
var arView: ARView?
init() {
super.init(nibName: nil, bundle: nil)
arView = ARView(frame: .zero)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
deinit {
doEverythingThatsNeeded()
}
public func doEverythingThatsNeeded() {
self.arView?.session.pause()
self.arView?.session.delegate = nil
self.arView?.removeFromSuperview()
// Quite a few more removals and resets here, ie. for Combines AnyCancellables
self.arView = nil
}
}
我也会在外部调用doEverythingThatsNeeded()函数:
aRViewMemoryTest?.doEverythingThatsNeeded()
aRViewMemoryTest?.arView = nil
aRViewMemoryTest = nil
问题似乎与我将ARView或UIViewController包装在SwiftUI的UIViewRepresentable / UIViewControllerRepresentable中无关。
我相信这必须是一个错误,并且几个月前我已经提交了报告。但是我希望有一些解决方法,在Apple修复潜在问题之前能够帮助解决问题。
非常感谢!