【问题标题】:How to release memory in Spritekit game after SKScene endsSKScene结束后Spritekit游戏中如何释放内存
【发布时间】:2014-11-04 07:53:44
【问题描述】:

我正在尝试制作一个有 10 个关卡的游戏。每次我加载页面及其相应的 SKScene 时,内存使用量都会增加,而当我离开页面和场景时,我使场景 = nil,但内存只减少了一点,而不是完全减少。 10个级别消耗大量内存,如果我继续玩所有级别,应用程序可能会由于内存压力而崩溃。如何在离开场景后立即释放所有内存?

【问题讨论】:

  • 每次加载新关卡时预加载纹理,并在用户完成该关卡时删除所有参考,即使 textureAtlas 参考也是如此。spritekit 将纹理保存在内存中每个甚至设置场景 =nil 不会从为此,您必须通过将其设置为 nil 来从内存中删除 textureAtlas。

标签: memory-management ios8


【解决方案1】:

在场景结束时尝试使用它:

[self removeAllActions];
[self removeAllChildren];

我发现它有助于解决场景变化和内存问题时可能出现的奇怪问题。

【讨论】:

  • 谢谢,两个我都用过,但内存还是没有突然下降,如果我不断重复关卡就会出现问题,因为内存会不断上升。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-07
相关资源
最近更新 更多