cocos creator 版本:2.4.3
根据公司的业务需求,我们的游戏资源是通过zip的形式加载下来的,让后通过解析,最终显示到界面上。
我的流程是这样的:下载zip资源->解析zip资源->通过Map<string,any>来存储解析后的zip资源,在使用资源的时候通过key就能拿到对应的资源,然后不使用了就会把Map中对应的资源删除掉,然后清除掉对应节点上资源引用,例如一张图片"let sprite"我就"sprite.spriteFrame = null;"。
我现在遇到的问题是:我在使用完成这些资源之后,从map中清除了对应的资源,从场景内也清除对应引用资源节点上的内容,在少量zip包的情况下,内存是会自动释放掉的,但是zip包数量变多,在安卓设备上的内存就不回收或者是少量回收。
我不太明白的是为什么资源量越来越多,反而内存回收不了了
读取zip图:
单个节点赋值:
资源map清空数据:
资源节点清空数据: