@dumganhar
这个函数感觉有点问题 onTextureCreate如果刚创建的Texture是Native创建的, 会多retain一次,
而对应的js object绑到了TextureCache的js Object上, 如果TextureCache的js Object一直存在,
像spine那边调用TextureCache的addImage加的贴图不是释放不掉了?
@dumganhar
请问, 我的理解:
创建spine -> spine加载atlas的每一张png(引用计数 = Texture2D的1 + onTextureCreate的1 + spine自己retain的1 = 3) -> spine销毁 -> 释放atlas的每一张png(release一次, 引用计数为2) -> png不会被释放.
这个情况是存在的吗, 如果不是这样的话, 我漏掉了哪里?
hello, 引擎组的大大们, 来看一眼解答一下吧
顶一下, 麻烦引擎组看到回答一下吧
这个问题应该是不会存在的,因为图片会被 cc.loader.release
release 时,会调用 removeTextureForKey,从而触发 _textureDestroyHook,执行减引用操作
如果 spine 动画是动态加载的,那么用户需要手动释放依赖的 texture。如果没有使用 getDependsRecursively 释放依赖的 texture,就有可能漏掉 cc.loader.release。在这种情况下,本身就不会释放了,因为 loader 中还有缓存。
1赞
多谢解答, 顺便问一下spine有计划支持使用导出的二进制文件吗?
有计划的
好的, 多谢回答