couldn't you do something like: canvas.drawText(score, x, y, paint); canvas.drawText( POINTS_LABEL, x+30, y, paint);
so you can rid of the string concatenation. On May 25, 11:02 pm, Robert Green <[email protected]> wrote: > I said StringBuffer but I meant "Implied" StringBuffer, you know: > > canvas.drawText(score + POINTS_LABEL, x, y, paint); > > I'm not sure how I can make that more efficient since drawText takes > either a String or a CharacterSequence and all I can think of doing is > hanging on to a char[] that is currently the correct length and > drawing that. > > Do you have any snippets that would help me here? I'm really excited > though because this is the last bit of performance optimization I'm > doing before I will say that the game runs very well. > > BTW - I do a System.gc() before starting each level, since the levels > rarely go over 15 seconds. It seems to work well to ensure that no gc > occurs while the level is running but it does seem like a bit of a > hack to me. I'd rather fix the allocations. Is there any downside to > leaving that there for a hint at GC timing? > > Thanks! > > On May 25, 3:46 pm, Romain Guy <[email protected]> wrote: > > > > 1) I keep a running score on screen. The StringBuffer I'm using to > > > build this is causing all types of char[] and String allocations. I'm > > > not sure what I can do about that. > > > You can reuse a StringBuffer by deleting its content, we do that in a > > bunch of places in Android's source code. You can also avoid calling > > toString() on it or passing it to methods that treat it as a String. > > Calling toString() creates a copy of the buffer, which you certainly > > don't want. > > > -- > > Romain Guy > > Android framework engineer > > [email protected] > > > Note: please don't send private questions to me, as I don't have time > > to provide private support. All such questions should be posted on > > public forums, where I and others can see and answer them --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

