2016-04-07 2 views
2

Ich bekomme eine kontinuierliche Warnung während der Verwendung von Code unten.Codenameone: "Warnung Farbe Warteschlange Größe überschritten, bitte beobachten Sie die Anzahl der Repaint Anrufe"

TextArea txtLabel = new TextArea(labeltext); 
      txtLabel.setUIID("login_title"); 
      txtLabel.setEditable(false); 
      txtLabel.setRows(2); 
      txtLabel.setGrowLimit(2); 
      txtLabel.setScrollVisible(false); 
      txtLabel.setGrowByContent(false); 

Warnungen werden bei Verwendung des folgenden Codes bereinigt.

SpanLabel txtLabel = new SpanLabel(labeltext); 
      txtLabel.setUIID("login_title"); 
      txtLabel.setScrollVisible(false); 

Ich verstehe nicht, warum TextArea- Ursache Warnung

ich verwendet habe TextArea- „Farbe Queue-Größe überschritten wird, bitte die Menge an repaint Anrufen beobachten“, weil ich mit zwei Reihen mit mehreren Leitungen Label will.

Antwort

0

Diese Warnungen treten auf, wenn zu viele repaint() Anrufe in der Warteschlange sind. Der Hauptunterschied zwischen diesen beiden Aufrufen ist der Standardwert für die Eigenschaft columns, aber ich denke nicht, dass dies der Grund für die Warnung ist. Es ist genau das, was es schließlich dazu bringt, über die Schwelle zu kippen.

Sie haben wahrscheinlich ein übermäßig ausgearbeitetes Thema, das zu lange dauert, um zu malen (Farbverläufe?) Und viele Komponenten innerhalb einer sehr ausgeklügelten Hierarchie, die es schwieriger macht, Farbaufrufe zu eliminieren. Ich schlage vor, dass Sie Ihr Design mit dem Performance-Monitor-Tool überprüfen und sehen, was verbessert werden kann und was wirklich in Bezug auf Farbe passiert. Siehe den folgenden Entwicklerleitfaden:

https://www.codenameone.com/manual/performance-debugging.html