使用以下代码时,我不断收到警告。
TextArea txtLabel = new TextArea(labeltext);
txtLabel.setUIID("login_title");
txtLabel.setEditable(false);
txtLabel.setRows(2);
txtLabel.setGrowLimit(2);
txtLabel.setScrollVisible(false);
txtLabel.setGrowByContent(false);
使用以下代码时,警告会消失。
SpanLabel txtLabel = new SpanLabel(labeltext);
txtLabel.setUIID("login_title");
txtLabel.setScrollVisible(false);
我不明白为什么TextArea会引起警告“超出绘画队列大小,请注意重新绘画调用的数量”
我使用TextArea是因为我想要两行多行标签。
最佳答案
当队列中的repaint()
调用过多时,将发生这些警告。这两个调用之间的主要区别是columns属性的默认值,但我不认为这是发出警告的原因。最终导致它超出阈值的只是事情。
您可能有一个过于复杂的主题,它需要花费很长时间来绘制(渐变?),并且在非常复杂的层次结构中有许多组件,这使得消除绘制调用变得更加困难。我建议您在性能监视器工具中检查设计,看看有哪些可以改进的地方,以及真正发生的油漆问题。请参阅此开发人员指南部分:
https://www.codenameone.com/manual/performance-debugging.html