我正在使用 ARKit ARSession;我第一次使用 ARSession 时,一切正常。它是完全响应的。然后我暂停 ARSession;将其设置为 NULL 以便它被释放并在稍后的某个时间再次创建。
第二次因为 ARTrackingStateLimited 而被跟踪状态卡住,原因是 ARTrackingStateReasonInitializing。所以 currentFrame 不会改变,不管我等多久,它都会保持不变。如果我再次使用 runWithConfiguration 重置,它会返回一个新帧,但 currentFrame 被冻结,trackingState 再次为 ARTrackingStateLimited,原因为 ARTrackingStateReasonInitializing。
是否有任何原因导致 ARSession 第二次无法完成初始化。与第一遍的光照条件完全相同;所以它应该能够检测到相同的特征。这不是资源问题,因为如果存在资源问题,ARKit 通常会显示“资源约束”诊断消息。
First Run...
[ 53 ] allocARSession 0x13fe50900
[ 54 ] assignARDelegate <DropPodStage: 0x13ff34450>
[ 55 ] runARSession 0x13fe50900
-- perfect run here ; ARKit is fully responsive;
[ 86 ] pauseARSession 0x13fe50900
[ 87 ] assignARDelegate (null)
[ 88 ] releaseARSession 0x13fe50900
Second Run...
[ 150 ] allocARSession 0x13fd7a3c0
[ 151 ] assignARDelegate <DropPodStage: 0x13fe63fa0>
[ 152 ] runARSession 0x13fd7a3c0
[ 161 ] ARSession: cameraDidChangeTrackingState
[ 162 ] cameraDidChangeTrackingState: ARTrackingStateLimited
[ 163 ] cameraDidChangeTrackingState: trackingStateReason: ARTrackingStateReasonInitializing
[ 164 ] AR frames frozen for 10 seconds, resetting
[ 165 ] resetARSession
[ 166 ] ARTrackingStateLimited
[ 167 ] trackingStateReason: ARTrackingStateReasonInitializing
[ 168 ] AR frames frozen for 10 seconds, resetting
[ 169 ] resetARSession
[ 170 ] ARTrackingStateLimited
[ 171 ] trackingStateReason: ARTrackingStateReasonInitializing
感谢您对此的任何回复;