从 手机内存爆掉啦!!内存只加不减~求指点!! 项目被这个卡了 继续讨论:
loader动态加载 释放目前测试时好使了,可是惊喜的发现原来场景“自动释放”不管用了。。我该怎么办~ 版本:creator1.3.1。哎,已经感觉自己没力气了,无力吐槽。
从 手机内存爆掉啦!!内存只加不减~求指点!! 项目被这个卡了 继续讨论:
loader动态加载 释放目前测试时好使了,可是惊喜的发现原来场景“自动释放”不管用了。。我该怎么办~ 版本:creator1.3.1。哎,已经感觉自己没力气了,无力吐槽。
能详细描述下吗?但凡使用了 cc.loader.loadRes 进行加载的资源(含依赖的资源),是不会自动释放的。
我测了你的用例,没有问题
差别在于,我添加了一个手动 GC 的按钮来测试是否能够被释放。
你需要知道的是,在不手动 GC 的情况下,你有可能看到内存很高的情况,这不意味着内存泄漏了,只是 GC 还没有被触发,这点并没有什么奇怪的。只要 GC 能够将这些内存释放掉,就说明这些内存没有泄漏,是被 JS 引擎所正确管理的垃圾内存。使用 JS 的时候你可能没办法那么有效得控制内存,也不用强求,你需要关注的是游戏本身运行的效率和体验。
补充一点,我们并不建议频繁对 Loader 中的缓存进行清理操作,只要在你的游戏中持续有用的资源,请一定要用 setAutoRelease 和 setAutoReleaseRecursively 跳过,否则频繁加载和删除同样的资源,就会产生上面图中的内存表现,这些算是 best practice 的 tips。
确实,加了手动GC可以回收,我的锅。。。