3.17版本的editbox创建几千个的时候,一旦点击其中一个editbox就会导致整个电脑花屏。而且通过键盘输入任何内容都不显示。
试试创建10000个是个什么效果??。。。
一样的啊 反正就是整个win32都出问题了,不点击看起来没问题,一旦响应点击事件就开始各种错了
我是创建了3000个开始出的问题
这么多 EditBox 有实际使用场景吗?EditBox 是系统控件,会监听 Windows 的键盘消息什么的,不同于 Sprite
是给策划用来编辑一些地图填入参数的,主要是用在tableview中的,之前没有做复用,刷新的时候cell移除了所有孩子,重新创建的editbox。而且并不是同时创建3000个出的问题,是累计到3000个会出问题,所以另一方面 删除editbox在win32上并没有真正的删除掉?
这个你能提供一个 demo 吗,这边后续排查一下
在 GitHub 建 issues,附主要代码片段也可以。
我们封装了很多,提起来太麻烦了,这段测试就直接用的原生的写的。
for i = 1,1000 do
local editBox = ccui.EditBox:create(cc.size(200,100), "common_dikuang.png",1)
editBox:setFont("Helvetica",18);
end
这段代码只要累计执行3次以上,仅仅是生成并不需要添加到node上,屏幕上的editbox点开后就无法输入任何东西了,测试的时候发现好像字体大小会有直接影响,字体越大越早出问题。
下面这个图是在出现editbox无法输入后,我先最小化游戏了,再点开它,整个游戏UI很容易就会变成这样
@leda
你这里也没有销毁啊,重复执行三次,还是相当于同时创建了 3000 个
我是间隔了几十秒才创建一次的
