Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 内存使用率增加,can';无法确定问题的起因_Ios_Swift_Nsarray_Metal - Fatal编程技术网

Ios 内存使用率增加,can';无法确定问题的起因

Ios 内存使用率增加,can';无法确定问题的起因,ios,swift,nsarray,metal,Ios,Swift,Nsarray,Metal,我正在使用Swift制作一个游戏,当游戏打开时,使用量将立即达到90MB,然后每20秒增加大约0.1MB 使用仪器,我能够观察到两类的持久字节正在增加:CAMetalDrawable和\u NSArrayM 从持久性#的数量可以看出,它们没有被释放 有人能识别这些类别吗 它们可能是什么,以便我可以尝试在代码中删除它们,以重新测试它们是否是问题所在 还有一点信息,我的应用程序使用了一个SKScene,这不是问题所在,因为我已将其删除并再次测试,问题仍然存在 我正在使用: 5伊卡鲁塞尔 大约有1

我正在使用Swift制作一个游戏,当游戏打开时,使用量将立即达到90MB,然后每20秒增加大约0.1MB

使用仪器,我能够观察到两类的持久字节正在增加:
CAMetalDrawable
\u NSArrayM

从持久性#的数量可以看出,它们没有被释放

有人能识别这些类别吗

它们可能是什么,以便我可以尝试在代码中删除它们,以重新测试它们是否是问题所在

还有一点信息,我的应用程序使用了一个SKScene,这不是问题所在,因为我已将其删除并再次测试,问题仍然存在

我正在使用:

  • 5伊卡鲁塞尔
  • 大约有100个图像加载了UI(imageContentsOfFile),因此没有缓存
  • IAPs
  • NSUserDefaults
  • 排行榜游戏中心
  • 之后就没什么特别的了
如有任何建议,将不胜感激

编辑#1:我已经删除了所有iCarousel并进行了测试。问题仍然存在

编辑#2:从以下图片中,这两个类别似乎是相互导致的。我对每一个类别都做了介绍

这是一个启用了金属验证层的帧捕获。这在打开后处于空闲状态,内存使用率仍以每20秒0.1 MB的速度增加

编辑#3

我可以在此屏幕上按cancel确认指数泄漏发生。在应用程序启动时立即显示


您是在GPU帧捕获和启用金属验证层的情况下运行的吗?@warrenm您能看一下我的屏幕截图吗?这可能是框架中的内存泄漏。这可能是值得的,尤其是如果您可以附加一个可靠地复制无限内存使用的项目。我找到了这个临时修复程序,并将其发布在这里: