[]为何纹理的加载使用没有引用计数管理起来,单一复用?
如使用image组件或Sprite.loadImage,多个地方显示同一张图片,某个开发者调用image.dispose(),其它地方的image都黑了,Loader.clearRes()方法,注释说是引用计数删除?我不明白用处在哪,只要一清除,所有的该图片都失效,引用计数不是有多处?clearTextureRes方法,可解决该问题,但会导致现有的图片重新渲染闪一下,并不完美。
没有找到相关结果
已邀请:
要回复问题请先登录
2 个回复
Aar0n
赞同来自:
相比clearRes,clearTextureRes只是清理texture里面使用的图片资源,并不销毁texture,再次使用到的时候会自动恢复图片资源
而clearRes会彻底销毁texture,导致不能再使用;clearTextureRes能确保立即销毁图片资源,并且不用担心销毁错误,clearRes则采用引用计数方式销毁
【注意】如果图片本身在自动合集里面(默认图片小于512*512),内存是不能被销毁的,此图片被大图合集管理器管理
Carr
赞同来自: