i'll suggest this again :-)

when the score changes, convert to a string then, save it away, and 
draw that each frame. at least then, you're only doing an allocation 
when it changes.

good enough?


>My new method doesn't have problems with concatenating but no solution
>so far has gotten around converting an integer into a String or
>CharSequence.  Any time you put an integer where a String should be,
>java automatically uses Integer.toString(i) to build a String out of
>it which allocates a char[] and also makes a new String.
>
>So, besides ripping out stringSize and getChars from integer and
>holding my own char[] for the converted int, is there a clean way to
>handle that without new allocations?
>
>On May 25, 4:29 pm, Jason Proctor <ja...@particularplace.com> wrote:
>>  i think Mark is saying that you could redraw the score separately
>>  from the label, potentially saving an implicit new StringBuffer
>>  (stuff).toString () ?
>>
>>  if score is a number, then it will need to make a new String anyway.
>>  but you could cache the string of the score until the score changes,
>>  so that drawing the score becomes drawing to strings as opposed to
>>  going through StringBuffer.
>>
>>  hth
>>
>>
>>
>>  >It's a surface view so the whole scene must be rendered every frame.
>>  >I could put it on the background I suppose but it's simple enough to
>>  >just redraw the text.
>>
>>  >On May 25, 4:10 pm, Mark Murphy <mmur...@commonsware.com> wrote:
>>  >>  Robert Green wrote:
>>  >>  > I said StringBuffer but I meant "Implied" StringBuffer, you know:
>>
>>  >>  > canvas.drawText(score + POINTS_LABEL, x, y, paint);
>>
>>  >>  Why redraw POINTS_LABEL every time? Can't you rework your scoreboard to
>>  >>  only draw that once?
>>
>>  >>  --
>>  >>  Mark Murphy (a Commons
>>  >>Guy)http://commonsware.com|http://twitter.com/commonsguy
>>
>>  >>  Android App Developer Training:http://commonsware.com/training.html
>>
>>  --
>>  jason.software.particle
>

-- 
jason.software.particle

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to