[]Bitmap引用计数的问题

var image1:Image = "res/test.png";
var image2:Image = "res/test.png";
这时候image1.source.bitmap.useNum的值不应该是2吗?可是实际上输出的是1。不知道是不是我的理解有问题还是LoaderManager.load在加载第二张图片直接完成导致useNum++没有执行的问题
已邀请:

buzhisuowei123

赞同来自: 136*****205

这个设计确实不合理,等于把图片资源的引用放到上层开发了,设想这样的情景,多个模块都用到某一张图片,模块开发者不能调用dispose方法,因不知道其他界面有没引用到,destory又不会真的释放内存,clearTextureRes又会导致其它界面的图片闪烁的情况;

luuren

赞同来自:

其实我说的是Bitmap中的useNum,不是Image中的。
image1.skin = "res/test.png";
image2.skin = "res/test.png";
这里(image2.source as Texture).bitmap.useNum的值不应该是2才正常吗?这个位图数据被引用了两次

cuixueying

赞同来自:

引用的useNum表示被多少个Texture引用了,上面的情况是对的,因为两个image引用的是同一个Texture,bitmap只被一个Texture引用了!

caochangli

赞同来自:

引用的useNum表示被多少个Texture引用了。这种能否举例说明,或者敲点代码说明下?

要回复问题请先

商务合作
商务合作