3.8.6构建出来的鸿蒙项目运行报错


这个项目之前是在3.8.5的Android上面运行,没问题,但是在鸿蒙系统上面运行有问题,一个交互问题,不知道是不是线程阻塞太久了,看广告之后很容易导致交互系统崩溃,还是就是label的outline渲染问题。更新到3.8.6之后,这两个问题都没有了,但是又出了个新问题,就是我上面发的那两个截图。绘制信息很容易超出大小限制。我把RenderEntity::STATIC_DRAW_INFO_CAPACITY这个属性由4改成8、16、32之后,只能延迟崩溃的时间,这个Size会逐渐累计起来,慢慢的就会超过8、16、32,然后崩溃。但是如果说设置成1024,也算是一个解决方案吧。但是似乎并没有从根本上解决问题,也不知道设置这么大的值会不会由啥影响。求助由没有别的解决方案吗?

1赞

这里是各个平台共用的代码,3.8.6 android 也会出现这个情况吗?还是只有鸿蒙会出现?

方便提供一个复现问题的 Demo ,我们会尽快跟进。

分析源码,可能是在频繁 禁用、启用 组件,有可能导致这个索引不断加 1,这个是 3.8.6 的一个逻辑调整,是可能有潜在的风险,我反馈给内部,后续跟进一下。

已建issue

386是安卓有问题还是鸿蒙,还是都有问题?

刚经过测试。3.8.6在Android上也会有这个问题

不确定我得修改是否正确,你给个精简的demo过来?我实测下

如果不好给demo,你看下这么修改还会不会崩溃

不知道什么原因引起的,所以没法给demo,给的话只能给整个项目,你修改的那个方案不行。

,从log上面看,突然蹦到了4,++就是5,崩溃了

还有鸿蒙那边审核还发现个问题,平板问题:游戏过程中,息屏重亮,游戏进程消失。这个是平板上才出现的问题,手机上测试没有这个问题。我们这边也没有平板可以测试,问那边要了个日志,一看

。so里面出的问题,看不到哪里的问题;这个头疼。

你是什么项目呢?2d粒子还是什么?能给demo尽量给一个,帮打个断点?蹦到4的时候看下调用栈

切水果的项目,确实用到了粒子

你随意搞个粒子看下有没有问题,有问题就以那个作为demo发过来?内置的粒子没什么问题。没有办法复现的情况下,没法解决

断点我没有搞懂怎么在dev studio上面怎么断点的。不过我在getStaticRenderDrawInfo的方法里加了一段错误代码。这样可以看到ts文件的调用堆栈。看起来确实是2d粒子引起的,晚点我做个demo试试看能不能复现。

好的,麻烦

参考:

这个 PR 修复。

partical_demo.rar (35.2 KB)