-
Creator 版本: 2.4.3
-
目标平台: 微信小游戏开发工具 真机
-
重现方式: 勾选场景的自动资源后打印前后缓存即可复现
我自己建了一个小场景用于测试,里面只有一个背景节点和一个切换场景按钮,背景节点的spriteFrame挂的资源跟场景文件一起打在一个assetBundle中 类型为小游戏分包,同时首场景分包。测试流程如下:进入首场景,首场景放置按钮入口,点击按钮时加载assetBundle与小场景并进入小场景,点击小场景中放置的切换场景按钮再重回首场景时,将其前后缓存信息打印验证资源是否释放。
第一个情况是将小场景(Copy-scene)设为自动释放:
可以看到从小场景切换到首场景时缓存资源数都是46,说明没有自动释放。并且其资源没有在首场景被引用,符合自动释放的释放检查条件。
第二个情况是自己在切换时手动releaseAll释放:
可以看到从小场景切换到首场景时缓存资源数从46减少回44,说明资源释放成功。
想问一下,为什么自动释放没用呢,我专门建了测试场景和测试bundle,测试bundle的资源完全跟首场景分包没关系。