Gibt es eine Möglichkeit, zwei Strings (nicht endgültig) ohne Speicherzuordnung zu verketten?String-Verkettung ohne Zuweisung in Java
Zum Beispiel, ich habe diese beiden Saiten:
final String SCORE_TEXT = "SCORE: ";
String score = "1000"; //or int score = 1000;
Wenn ich diese zwei Strings verketten, ein neues String
Objekt erstellt wird.
font.drawMultiLine(batch, SCORE_TEXT + score, 50f, 670f);//this creates new string each time
Da dies im Hauptspiel Schleife getan (ausgeführt ~ 60-mal in einer Sekunde), es gibt eine Menge von Zuweisungen ist.
Kann ich das irgendwie ohne Zuteilung machen?
Führt dies tatsächlich zu einem Leistungsproblem oder machen Sie [vorzeitige Optimierung] (http://c2.com/cgi/wiki?PrematureOptimization)? – Jesper
Ja, es verursacht tatsächlich Leistungsprobleme, wegen der GC. Das Spiel ist für mobile Geräte, und auf langsameren Geräten verursacht GC fps fällt ... – pedja
@Kenneth Clark, String-Format erstellt ein paar neue Objekte. z.B. 'Formatter',' Pattern' ... – pedja