Bug:Spine远端动态加载原生闪退 版本:v3.8.2-3.8.5

  • Creator 版本:3.8.2~3.8.5(已测试)

  • 目标平台: 安卓平台,模拟器( mumu模拟器 安卓9)

  • 重现方式:远程动态加载Spine动画 然后渲染到界面上,原生平台闪退,web端正常

  • 手机型号:安卓9 API34

  • 重现概率: 必现
    加载代码:


    错误日志:

Demo:
HttpLoadSpine.zip (95.8 KB)

@minggo @dumganhar

自顶一下 没人出现过这情况吗?急着解决啊 @minggo

用你的demo测试失败,把文件名改成一致后成功了(主要是你的atlas文件使用的是CC_jbfeixlkl.png,所以你不能改名字,如果改成其它名字atlas文件中的png名字也要对应修改)。还有就是skelData也是Asset最好引用计数+1,主动调用addRef的Asset都得自行控制释放(手动decRef)。
image


image

我自从来到COCOS论坛后啊 Spine这个问题的帖子 几乎每天都能看到 这个问题的比例我认为绝对是最高的 所以能问问 这个是为什么吗 为啥就不改进一下呢

首先 web上我这方式是可以加载播放出来的 ,就原生平台不行 其次我是将文件以数据形式去绑定添加的 然后就是你这种方式在模拟器上试过了吗 能播吗

因为 从3.8以来 spine的加载方式就变了 以前是 spine.js 现在变成了spine.wasm.js 为了追求加载效率

我用蓝蝶测试的

web上可以 原生就不行 这点搞懂了么

不是给你看图了吗?蓝叠模拟器不是原生?

不是 我是说我那套方式 原生上就不行 我想找出原生和web的区别在哪

你把文件名.atlas .png .json 文件名改成CC_jbfeixlkl试了吗?

原生用的wasm,web用的是。。。看源码吧~

你把服务器上的文件名称改成CC_jbfeixlkl.atlas, CC_jbfeixlkl.png, CC_jbfeixlkl.json我再给你测试一下

找到解决方式了
将数据里面的图片名称替换成 图片文件的名称就可以了


不就是我前面说的嘛~

论坛上免费给查问题,要的是你的肯定和尊重,不是质疑。主要是我还没说错 :pensive:

:joy:我没说你错 我是想着基于我给的案例去分析问题所在 web和原生为啥出现两种不同响应,而不是说改变文件名 文件名不能动 如果硬是没法解决 我可以采用打进包里去做 我开这个贴的目的在于 既然web端是好的 说明不同文件名这种方式是可行的 可是原生端就不行 你能解释吗 能知道底层是哪块没处理好吗


报错报在这里,这个中间件通过wasm重定义了,看不到为什么(我不知道怎么查)

不过从结果上看,就是使用不够标准(配置文件怎么定义,就怎么来),不是乱改也成功,这回导致不可预知的问题,同时Creator就是跨平台的,每个平台的实现可能都一样,所以按标准来是最稳妥的

感谢 优秀 :crossed_fingers: