我有一个应用程序,其内部使用了UIViewControllers
和SKScenes
,并带有一些大图像,ObjectAL用于声音。
[在推入几个内部带有SKScenes
的视图控制器之后(是的,我知道这与SpriteKit最佳实践不兼容),我的应用程序获得了大约120 MB的RAM。此时,我收到一些内存警告,并且SKScenes
中的背景图像被释放。这是令人惊讶的,因为我正在使用的iPad 3崩溃时的大小为624 MB,而120 MB远小于该数字(source)。
奇怪的是,当我运行我的应用程序时,其他进程使用的RAM数量急剧增加。随时查看以下视频以及我的笔记:https://www.youtube.com/watch?v=GoMKK3XXWFw&feature=youtu.be
我不确定该如何调试。我试图在“工具”的“活动监视器”中查看我的内存使用情况,但它没有记录其他大型进程内存跳跃。
两个问题:
1。为什么会这样?
2。我该如何调试类似的内容?
UPDATE
“其他进程”的内存消耗模式在设备之间非常不同。下面的内存使用模式是每个屏幕(通过ViewController推送)。iPad Mini:233 MB-> 170 MB-> 160 MB-> 155 MB-> 160 MB-> 155 MB-> 105MBiPad 3:320 MB-> 380 MB-> 400 MB-> 440 MB-> 470 MB-> 470 MB-> 370 MB
我建议面临此问题的任何人在此处查看此问题的答案:https://stackoverflow.com/a/61682545/4478402