这个项目之前是在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过来?我实测下
还有鸿蒙那边审核还发现个问题,平板问题:游戏过程中,息屏重亮,游戏进程消失。这个是平板上才出现的问题,手机上测试没有这个问题。我们这边也没有平板可以测试,问那边要了个日志,一看
。so里面出的问题,看不到哪里的问题;这个头疼。你是什么项目呢?2d粒子还是什么?能给demo尽量给一个,帮打个断点?蹦到4的时候看下调用栈
你随意搞个粒子看下有没有问题,有问题就以那个作为demo发过来?内置的粒子没什么问题。没有办法复现的情况下,没法解决
断点我没有搞懂怎么在dev studio上面怎么断点的。不过我在getStaticRenderDrawInfo的方法里加了一段错误代码。这样可以看到ts文件的调用堆栈。看起来确实是2d粒子引起的,晚点我做个demo试试看能不能复现。
参考:
这个 PR 修复。







