每当我的应用程序在applicationWillResignActive上通过session.pause()进行后台处理时,我都会暂停ARKit。
我最近注意到一些用户的后台电池使用率偶尔很高,现在偶尔会看到这样的行为,当应用程序处于后台时,我会在控制台中收到一堆这样的消息:
2018年-07-25 16:18:57.691271-0700Neon6918:1740969由于执行过程中出现错误,命令缓冲区执行异常。权限不足(无法在后台提交GPU工作) (IOAF代码6) 2018-07-25 16:18:57.691374-0700Neon6918:1740969由于执行过程中出错,命令缓冲区的执行被中止。权限不足(无法在后台提交GPU工作) (IOAF代码6) 2018-07-25 16:18:57.691425-0700Neon6918:1740969由于执行过程中出错,命令缓冲区的执行被中止。权限不足(无法在后台提交GPU工作) (IOAF代码6) 2018-07-25 16:18:57.692061-0700Neon6918:1740674由于执行过程中出错,命令缓冲区的执行被中止。权限不足(无法在后台提交GPU工作) (IOAF代码6) 2018-07-25 16:18:57.692100-0700Neon6918:1740674由于执行过程中出错,命令缓冲区的执行被中止。权限不足(后台提交GPU作品) (IOAF代码6)
当我查看能源和cpu使用率时,它们超出了图表。但是,在其他情况下,我不会收到这些消息,并且cpu /能源使用量极小。
我的想法是,在应用程序落地之前,暂停是不会完成的。我更新了我的应用程序,使用backgroundTask来暂停ARSession对象,但我仍然在观察偶尔的行为。
有没有关于可能发生的事情以及如何修复它的想法?
谢谢!
发布于 2018-07-26 09:01:36
因此,看起来这似乎是在ARKit仍在初始化时应用程序处于后台状态,因此暂停没有任何影响。此外,当它完成初始化时,它会在后台运行ARKit,从而产生无法在后台运行和消耗电池的错误。
https://stackoverflow.com/questions/51529023
复制相似问题