这段时间自己整理总结了一下creator 2.2.x 资源释放,分享给大家

公司项目进入后期,开始做客户端性能测试,经过一番努力,平均内存从644.5M降到235.4M。关注公众号,输入“资源释放”查看详情吧

mark 大佬 2.0版本和1.x也需要改引擎代码么

你可以看下你使用的引擎版本,我标注的文件的位置,看看代码是咋写的

问下大佬,你查看内存,是用谷歌来查看还是什么别的工具。

做记录是腾讯性能狗,平时开发测试主要是用xcode

那块的代码主要是开启了动态合图才会出现的错误么。。 目前一直在用1.10开发

测试一下,如果切场景的时候没报错,那就没问题了

:grinning:

我正打算写一篇 内存管理的文章呢····

大佬,我看了一下你的文章,我有以下几点疑问:
1.你这个资源释放说到底还是有去释放依赖资源。不会有资源相互依赖的问题吗?
2.针对不同的资源你释放的方式都不一样。


相对于直接简单粗暴的获取资源的依赖,然后将依赖跟着一起释放来说,区别又在哪里呢?

我是在切换场景时释放的资源,本意就想释放干净(每个界面单独做释放逻辑感觉太麻烦了,没这个必要)。 不同资源确实释放方式不一样啊,试了没有统一的方式。有自己不想释放的资源的话,可以在加入缓存列表的时候过滤掉

大佬都是做重度游戏的么:cry:

不算太重度,中重吧

就比如说你这边释放prefab来说吧。我理解的是操作是
var deps = cc.loader.getDependsRecursively(prefabUrl);
cc.loader.release(deps);
这样就是放干净了。

官方文档上面说的也是释放一个预制以及它的依赖。貌似你后面的操作都是多余的呀。

我自己测试觉得没删干净,所以多加了其他的操作。反正多出来的操作也就一个if的判断,比较保险。可能有一两句是可以没必要执行,但是只是切换场景的时候才执行一次,所以我这边的情况是可以接受的

嗯嗯,感谢回复。

这个是针对本地的还是服务器上的 有区别吗