CocosCreator资源释放总结

本文探讨了在CocosCreator大型项目中资源管理的常见问题,特别是关于预制体和图片资源的加载与释放机制。文章指出,在场景切换时正确处理cc.loader加载的资源至关重要,以避免黑块显示等问题。

在用CocosCreator做项目的时候,如果项目过大,资源很多,然后,现在我们假设我们这样设计架构:

1、打开一个界面(预制体)的时候,有关这个预制体的图片资源也用cc.loader加载进来;

2、关闭这个界面的时候,把有关的图片用cc.loader.release释放,如果是公共资源就不释放;

3、换场景的时候我们选择自动释放资源

 

上面是一个项目资源过多的项目的架构设计的其中一种方法。

 

但是上面的方法在CocosCreator中有一点漏洞:这个漏洞就是如果有用cc.loader.loadRes加载了一个预制体,然后切换了场景,再回到这个场景,然后再次loadRes该预制体的时候,你会发现,这个预制体的图片都显示成黑块了。

造成这个问题的原因是:

用cc.loader.loadRes加载了预制体之后,预制体会一直存在内存中,切换场景之后,所以图片资源释放;

再切回原场景,再用cc.loader.loadRes加载预制体,此时,用的是内存中存放着的预制体;

但是此时,预制体引用的图片资源已经释放,所以是黑块。

 

19.4.17

根据网友的问题增加的回答:

我们在切换场景时,图片资源释放了,而预制体资源是通过cc.loader.loadRes动态加载的,就不会释放;

所以我们应该在切换场景时,把cc.loader.loadRes加载的预制体释放掉。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值