Hello,

I didn't use much Java before Android so my knowledge concerning the
gc is marginal.

Now I'm developing a highly physics-based game and therefore I need to
do many calculations each time step and many (25) timesteps per
second.
At the moment I'm almost only using local objects (float) in my
methods, so I guess they are allocated every time the method is called
(which might be, for example, 25*100 = 2500 times a second , for 100
objects with calculations on them).
This causes massive activity of the garbage collector .. like freeing
~10000 objects every 1-2 seconds (taking ~200ms on a real device).

Now I really want to optimize that because even there's no noticable
delay due to the GC (and the framerate is constant), this seems just
not well.
But I read on many documentations concerning Java optimization, that
there is not much to optimize in modern versions of (desktop) Java,
because the GC is fast enough.
Does this apply to Android, too? Does the compiler optimize anything
like frequently, steady allocated objects (like floats)? What would be
best practice: keep all local objects and allocate and free them all
the time or use class-global objects, even if they are only used
inside one particular method (which is bad programming style but
conserves GC)?

Best regards,
F Heft
--~--~---------~--~----~------------~-------~--~----~
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