cocos creator加载zip,内存不能释放问题

cocos creator 版本:2.4.3

根据公司的业务需求,我们的游戏资源是通过zip的形式加载下来的,让后通过解析,最终显示到界面上。

我的流程是这样的:下载zip资源->解析zip资源->通过Map<string,any>来存储解析后的zip资源,在使用资源的时候通过key就能拿到对应的资源,然后不使用了就会把Map中对应的资源删除掉,然后清除掉对应节点上资源引用,例如一张图片"let sprite"我就"sprite.spriteFrame = null;"。

我现在遇到的问题是:我在使用完成这些资源之后,从map中清除了对应的资源,从场景内也清除对应引用资源节点上的内容,在少量zip包的情况下,内存是会自动释放掉的,但是zip包数量变多,在安卓设备上的内存就不回收或者是少量回收。

我不太明白的是为什么资源量越来越多,反而内存回收不了了
读取zip图:


单个节点赋值:

资源map清空数据:
image
资源节点清空数据:
image

方便提供个测试demo 看看不?

这个是测试工程,辛苦看一下
我自己测试的结果是:
1、在所有资源都依次显示到页面上之后,清除数据,在安卓设备上就内存就不回收了
2、如果我只把资源全部下载下来不去使用,清除数据,内存是可以回收的
ZipTestProjrect.zip (1.0 MB)

操作顺序是?点着点着报错了,
按这个顺序操作看 download -> create ->clear 是有释放,有时候只是释放的慢了。

点击download,提示点击create,从1-6依次执行下载创建,等到最后点击clear,我这里监控内存的软件显示内存没有释放,我在设备上内存是一直不会掉下去的

clear方法是把所有的数据都清空,并且节点都删了,如果想再下载显示的话,需要重新进入

ziptest.zip (356.4 KB)
试试

忘记说了,我们用的是WebView,打的是h5的包,cc.sys.garbageCollect()这个不能用 :upside_down_face:

游戏app套webview,然后打包h5?这么骚的操作。。厉害了。。。

就是安卓应用,通过webview打开的cocos= =

请问是哪里出了问题呢