ios - 使用 swift 进行场景套件内存管理

标签 ios swift memory-management scenekit

我对如何使用 swift 释放场景工具包中的内存感到困惑。每当我从 collada 文件创建 SCNNode 时,它​​都会导入几何体、创建物理对象并从 jpg 文件设置 Material 。由于某种原因(即使文件大小低于 300k),这在创建新对象时会占用 10 mb 的内存,但无论如何。每当它从父节点中删除时,零内存就会释放出来,我不明白为什么。我可以使用什么代码来真正删除对象?我找不到有关该主题的任何文档。这只是一个一般性问题,因此此处不需要代码。

最佳答案

所以我发现我需要做的是将游戏对象的纹理设置为 nil,然后再将它们从父对象中移除。作为一般规则,在删除节点之前,我开始将所有纹理设置为 nil。无论如何,这解决了我的内存问题。

关于ios - 使用 swift 进行场景套件内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32295206/

相关文章:

swift - 为什么在第一次启动时我的导航栏在状态栏下面

swift - 如何等待 dataTaskWithRequest 完成 - Swift?

memory-management - alloc_pages() 和 get_free_pages() 返回值的区别

c++ - 有什么有用的建议可以找出在 Win32 进程中释放内存的位置吗?

java - java应用程序可以分配比jvm启动参数指定的更多的内存吗?

ios - xcode 5 : How do you add a UUID to a provisioning profile managed by xcode?

ios - 如何在 ios 中动态更改 uitableview 的特定标题部分高度

ios - 如何创建带删除线文本的 UILabel?

ios - 显示窗口级别的 View UIWindowLevelStatusBar 退出当前的第一响应者

ios - UIViewController 中的 Xcode 5.1 UITableView - 自定义 TableViewCell socket 为零