问下,
1.不是说资源的引用计数是0会被是吗吗,怎么远程资源管理那里Texture2D的引用计数是0,不会被错误释放吗
2.我一直是使用cocos Ctreator , 加载图片资源给精灵赋值的时候,都没有是用addRef,和decRef, 图片一直真诚使用,那还有必要使用的时候去调用 addRef吗,我测试时候 多次调用decRef,好像图片还能正常渲染,是不是现在底层实现换了
因为你理解错了
不是计数为0就会释放,而是变成0才会被释放
addRef只是加一个引用,避免被其他地方提前释放了,你加载之后立即渲染了加不加都可以,只不过你不addRef的话,下次再加载这个资源的时候可能已经被释放了,又会走一遍加载流程而已。
计数为0 和 变成0 看起来没什么不同,望周主程解答
这里的‘变成 0’应是指把原本非零的值改成零(可能在 setter 里做了判断?)。字面意思我懂,但不明白为什么这么做。
变成0.有一个主动调用减的过程,会吧小于等于0的放入可释放数组里面。一般来说计数器默认都是0的,除非你主动加计数。