动态资源加载与释放,2.4.6的bug?

代码里通过cc.resources.load动态加载资源,之前的实现方式如下:

        cc.resources.load(url, cc.Texture2D, (err, texture) => {
            let spriteFrame = new cc.SpriteFrame(texture);

            res.texture = texture;
            res.texture.addRef();
            
            res.frame = spriteFrame;
            res.frame.addRef();
            .....
        }

一直跑着没啥问题,更新了2.4.6之后,只要发生场景切换就会报错,经过检查是纹理被释放导致。
观察现场,被释放的都是图集纹理,其他小纹理倒是正常(但是这个现象是不是有关联性还不确定)。

改成了下面,直接以SpriteFrame类型进行加载,就没问题了
cc.resources.load(url, cc.SpriteFrame, (err, spriteFrame) => {
res.frame = spriteFrame;
res.frame.addRef();

}

之前(2.4.4)没问题,升级到2.4.6开始报错,是资源管理机制有变化?

这块最近应该没动过,能给个 demo 给我们复现下么?

我们也是从2.4.4升到2.4.6,然后回退2.4.4了~解决了一个bug另外一个bug出现了~没办法给demo~~因为是打包的时候,我们的common的bundle有一个引擎自身的图片~一直报错~

如果只是新建一个空项目,把出问题的代码移植进去,也很难重现。
应该是图集的使用+场景资源的自动释放 等诸多因素混杂在一起才会出现

试图分析过原因,但实在是摸不着头脑:
1、cc.resources.load(url, cc.Texture2D)然后自行创建SpriteFrame,之前一直没问题,升级2.4.6挂了
2、cc.resources.load(url, cc.SpriteFrame),直接使用现成创建好的SpriteFrame,2.4.6没问题

百思不得其解啊