iOS - 即使实际应用程序(SpriteKit 应用程序)没有显示内存泄漏,内存使用量也在不断增长
iOS - Memory usage constantly grows even though no memory leaks shown for actual app (SpriteKit App)
我正在构建一个 sprite kit 游戏并且即将完成,所以我开始分析应用程序以确保没有内存泄漏等问题以提高性能。
我注意到当我 运行 应用程序时,我的内存使用量每秒增长大约 1mb:
所以我开始使用运行ning Instruments,并不太熟悉使用它,但是从我从网上的教程中收集到的是,主要要注意的是持久分配对象的数量确保你期望被释放的对象实际上被释放(即你摧毁的敌人,从场景中移除的子弹等)。 Instruments 确实显示了整个应用程序生命周期中持久/瞬态(解除分配)对象的预期数量,但也报告了大量内存泄漏(每 10-20 秒约 2000 次 - 不确定是来自设备上的其他应用程序还是我的应用程序) :
这是内存泄漏的另一张图片(没有过滤我的应用程序名称 - 所以不确定是否是我的应用程序造成的):
如果我让应用 运行 长时间(10 分钟以上),它最终会崩溃,原因是:
Message from debugger: Terminated due to memory issue
关于如何弄清楚发生了什么的任何建议?报告的 ~2000 次内存泄漏实际上来自我的应用程序吗?我在仪器中遗漏了什么吗?
好的,结果证明问题是启用 'showsPhysics' 时的 Apple Bug。立即关闭它解决了我的问题。谢谢@SklyerLauren。
我正在构建一个 sprite kit 游戏并且即将完成,所以我开始分析应用程序以确保没有内存泄漏等问题以提高性能。
我注意到当我 运行 应用程序时,我的内存使用量每秒增长大约 1mb:
所以我开始使用运行ning Instruments,并不太熟悉使用它,但是从我从网上的教程中收集到的是,主要要注意的是持久分配对象的数量确保你期望被释放的对象实际上被释放(即你摧毁的敌人,从场景中移除的子弹等)。 Instruments 确实显示了整个应用程序生命周期中持久/瞬态(解除分配)对象的预期数量,但也报告了大量内存泄漏(每 10-20 秒约 2000 次 - 不确定是来自设备上的其他应用程序还是我的应用程序) :
这是内存泄漏的另一张图片(没有过滤我的应用程序名称 - 所以不确定是否是我的应用程序造成的):
如果我让应用 运行 长时间(10 分钟以上),它最终会崩溃,原因是:
Message from debugger: Terminated due to memory issue
关于如何弄清楚发生了什么的任何建议?报告的 ~2000 次内存泄漏实际上来自我的应用程序吗?我在仪器中遗漏了什么吗?
好的,结果证明问题是启用 'showsPhysics' 时的 Apple Bug。立即关闭它解决了我的问题。谢谢@SklyerLauren。