切换场景资源释放问题

  • Creator 版本: <2.4.3>

  • 目标平台: <chrome浏览器>

  • 重现方式:
    前提:
    场景scene1引用了prefab1预制件
    场景scene2引用了prefab2预制件
    场景均已勾选自动释放资源
    1,首先进入场景scene1,
    2,点击按钮<进入场景1>一次
    3,接着点击按钮<进入场景2>一次
    4,接着查看cc.assetManager.assets._map
    发现scene1引用的prefab1预制件资源没有被释放

在跟引擎代码的时候发现
由由场景scene1再次进入场景scene1的时候,执行了图里的语句1,清空了数组
如果接下来由场景scene1进入场景scene2,在执行语句2的时候,拿到的数组是空的
所以没有执行任何释放资源的操作

这个是我的使用姿势有问题吗
测试demo在此.NewProject_1.zip (829.4 KB)

@wangzhe
@panda
@jare
@EndEvil

为啥会有场景1切换到场景1这种操作。。。

不能重复进入同一个场景吗

一般没这么操作的,最多我能想到的就是热更新再进热更新,但是一般也是热更新后重启APP,不是直接重进场景

我们加个判断吧

主要是我们游戏有重新开始关卡的功能
所以我就重新进入了同样的场景
再切换到另外一个场景就有这个问题了

确实是个问题,官方方案没出来的话我觉得可以暂时弄个中间场景来跳转

好的好的辛苦了

小游戏重新加载当前场景是一个非常常见的操作。

https://github.com/cocos-creator/engine/pull/8150, 可以试试这个改动,我这边测试没问题了

好的谢谢,我试试

嗯,我的,没意识到。以前学习cocos的时候做的小游戏结束页是单独拉了个场景再切换回来的