ios - ARKit ARSession 有时在应用程序后台运行之前不会暂停

标签 ios swift arkit

每次我的应用通过 applicationWillResignActive 上的 session.pause() 后台运行时,我都会暂停 ARKit。

我最近注意到用户的后台电池使用率偶尔会很高,现在偶尔会看到当应用程序处于后台时,我会在控制台中收到一堆这样的消息:

2018-07-25 16:18:57.691271-0700 Neon[6918:1740969] 由于执行期间出现错误,命令缓冲区的执行中止。权限不足(从后台提交 GPU 工作)(IOAF 代码 6) 2018-07-25 16:18:57.691374-0700 Neon[6918:1740969] 命令缓冲区的执行由于执行期间的错误而中止。权限不足(从后台提交 GPU 工作)(IOAF 代码 6) 2018-07-25 16:18:57.691425-0700 Neon[6918:1740969] 命令缓冲区的执行由于执行期间的错误而中止。权限不足(从后台提交 GPU 工作)(IOAF 代码 6) 2018-07-25 16:18:57.692061-0700 Neon[6918:1740674] 命令缓冲区的执行由于执行期间的错误而中止。权限不足(从后台提交 GPU 工作)(IOAF 代码 6) 2018-07-25 16:18:57.692100-0700 Neon[6918:1740674] 命令缓冲区的执行由于执行期间的错误而中止。权限不足(从后台提交 GPU 工作)(IOAF 代码 6)

当我查看能源和 CPU 使用率时,它们超出了图表。但是,其他时候,我不会收到这些消息,而且 cpu/能源使用率很小。

我的想法是暂停在应用程序后台运行之前没有完成。我更新了我的应用程序以使用 backgroundTask 来暂停 ARSession 对象,但我仍然观察到偶尔的行为。

关于可能发生的事情以及如何解决它有什么想法吗?

谢谢!

最佳答案

因此,看起来这是在 ARKit 仍在初始化时将应用程序置于后台的情况,因此暂停没有影响。此外,当它完成初始化时,它会在后台运行 ARKit,从而产生有关无法在后台运行和耗尽电池的 GPU 错误。

关于ios - ARKit ARSession 有时在应用程序后台运行之前不会暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51529023/

相关文章:

ios - 将数据传递给自定义 View 然后执行函数是一种好方法吗?

ios - 核心数据 - 1600 错误(删除具有特定删除规则的对象时)

ios - 在 iOS 中,如何通过点击 Alert 弹出窗口中的 INSIDE 来关闭 Alert Controller?

Swift 图表 - 突出显示中心点

objective-c - ARKit – 空间音频几乎不会随距离改变音量

ios - 两段 Swift 代码之间的交互(Apple ARKit 示例代码)

ios - 在核心数据中检索/保存自定义对象时出错

javascript - 运行JS代码以快速获取数据

ios - Apple 建议使用 : custom struct or extension? 是什么

swift - ARKit 2 盒子内有灯的问题