最近在研究Creator内存释放问题,反复查看官方文档,其实对于内存释放的模块说的也感觉比较模糊!
依照官方文档里的cc.loader.release 来释放资源,感觉效果上不是那么显著有效,而且还存在延时释放问题,通过运行一些官方例子,其实这些问题一直存在;无法游戏有效控制内存!
以下是官方例子
进行反复点击LoadAll ClearAl运行的内存走势图:
箭头标记的问题为初始首次点开内存的点;但是反复点击几次并且例子代码中也进行了cc.loader.release 但是可以看到后续内存走势一直持续增高
通过控制台可以看到不断再进行GC,但是其实内存走势图上并没有显示的内存下降;
虽说可以理解JS GC延迟,有些在js层进行释放引用,但是JS的对象内存引用并没有被及时释放掉,需要到JS GC完后才会释放:
那再看下图,是不进行操作并且释放加载的资源,持续几分钟后的情况:
可以看到,内存稳定了,但是呢 并没有明显的释放下降,那之前不断产生并且没有真正释放的内存是不是还存在,且无法再次被释放呢;
对于这种野内存的存在希望官方能解释一下;
也希望社区各位大佬能一些建议!!
不然,那是这样的情况,有release的接口又有何意义呢!!!
@panda @jare