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
-~----------~----~----~----~------~----~------~--~---

Reply via email to