JS: src/cocos-js/_virtual_cc-Cf-Q_dej.js:1076:16:
throw new Error(errorText);
^
Error: this component should not be invalid!
Error: this component should not be invalid!
at ccAssert (src/cocos-js/_virtual_cc-Cf-Q_dej.js:1076:23)
at assert (src/cocos-js/_virtual_cc-Cf-Q_dej.js:1000:16)
at Sprite._canRender (src/cocos-js/_virtual_cc-Cf-Q_dej.js:41721:13)
at Sprite._canRender (src/cocos-js/_virtual_cc-Cf-Q_dej.js:42794:22)
at Sprite.updateRenderer (src/cocos-js/_virtual_cc-Cf-Q_dej.js:41704:35)
at UIRendererManager.updateAllDirtyRenderers (src/cocos-js/_virtual_cc-Cf-Q_dej.js:31091:31)
at Director.tick (src/cocos-js/_virtual_cc-Cf-Q_dej.js:34516:31)
at Game._updateCallback (src/cocos-js/_virtual_cc-Cf-Q_dej.js:36696:22)
at src/cocos-js/_virtual_cc-Cf-Q_dej.js:34649:20
at tick (jsb-adapter/web-adapter.js:551:7)
会一直报这个错,不是必现的,就是游戏特效特别多的情况,还能听到后面的逻辑还在走,只是UI卡屏了,切后台再切回来是黑的状态
JS: src/cocos-js/_virtual_cc-Cf-Q_dej.js:50072:32:
vData[uvOffset] = uv[index];
^
TypeError: Cannot read properties of null (reading ‘0’)
TypeError: Cannot read properties of null (reading ‘0’)
at Simple.updateUVs (src/cocos-js/_virtual_cc-Cf-Q_dej.js:50072:33)
at Simple.updateRenderData (src/cocos-js/_virtual_cc-Cf-Q_dej.js:49952:16)
at Sprite.updateRenderer (src/cocos-js/_virtual_cc-Cf-Q_dej.js:41702:23)
at UIRendererManager.updateAllDirtyRenderers (src/cocos-js/_virtual_cc-Cf-Q_dej.js:31091:31)
at Director.tick (src/cocos-js/_virtual_cc-Cf-Q_dej.js:34516:31)
at Game._updateCallback (src/cocos-js/_virtual_cc-Cf-Q_dej.js:36696:22)
at src/cocos-js/_virtual_cc-Cf-Q_dej.js:34649:20
at tick (jsb-adapter/web-adapter.js:551:7)
又重现了,好像报错位置还不一样了,但表现效果一样,画面冻住,但下面的逻辑还在运行。。。。。
测试把release bundle注掉就好了。。某些资源release后 再bundle load 后再load该资源会报此错,某些场景操作是必现的
好人啊,解决了还把解决方法贴出来,给你点赞
最后测试确定是依赖的问题,如 Bundle A B C 采用loadDir的方式加载bundle里的所有资源,一进游戏加载Bundle A 进入子游戏加载 Bundle B C 出子游戏卸载子游戏的Bundle C 再进子游戏又 加载Bundle B C 这时候弹得面板属于B里的但如果B资源有C的如图片的引用,就会报update uv 0 的错误。(因为Bundle B中的C第一次release后再之后就无法正常识别了)
解决方法
1.检查所有依赖保证依赖顺序正确与相互独立继续用loadDir
2.用preloadDir或自己遍历所有bundle内资源预加载但文件多会很慢没loadDir快