Mika,

Check out the Real-time games and lightning talks videos, they're very
helpful.

As far as the speed, I would run some tests and look at the results,
some nice hard data :)
Become familiar with DDMS (the stand alone program, not plugin) - DDMS
has an allocation tracker, which lets you know where you are
requesting the most memory, which is what is going to slow you down.
http://developer.android.com/guide/developing/tools/ddms.html

Also you can use method tracing and traceview to further optimize your
code.
http://developer.android.com/guide/developing/tools/traceview.html

These tools are covered in some detail in the 'Debugging Arts of the
Ninja Masters' video

-theSmith

On Jan 17, 8:17 am, Mika <[email protected]> wrote:
> Simple question, what is the fastest way to iterate through
> collections on Android? I generally use collection.iterator(); and the
> iterator.next() to iterate through the whole collection. Is it any
> faster to drop that and iterate with "old" (and I use the term old
> loosely...) :
>
> for( int i=0; i<collection.size(); i++) ?
>
> I was thinking of getting the collection.size() into a separate
> variable so I wouldn't be asking the collection it's size all the time
> so basically the for loop would turn into something like this:
>
> int size = collection.size();
> for( int i=0; i<size; i++ )
>    collection.get(i);
>
> Any better? Speed wise, I mean. I'm in a point where I need to get
> every possible inch of speed for my application.
> Or maybe allocate everything into Lists in the start, and once I know
> the correct amount of data, I turn all that into arrays and drop the
> Lists so I can have array[index] (Log(1) access, right? OH wait.. how
> did this go again >_< ) access instead of having the "slow" method
> calls in between like .get(); when accessing the data in the
> collection.
>
> And what about getters & setters for Classes? Like let's have a
> Vector2D class that contains obvious integer x and integer y values.
> What is the fastest way to access them inside the class? Have them as
> public and just straight Vector2D.x = someValue; or through getters
> and setters? I've had much debate with my tutor about this (working on
> my final year project) but not to get too much into details of it...
>
> Also all links for further Android application optimisation are more
> than welcome and greatly appreciated (I read the googles docs on this
> already). Plus if you have found some really good tricks / quirks on
> Android to punish the device even more so it runs faster, do share, do
> share. Heh.
>
> Please be gentle on me, I'm such a beginner in all things Android that
> I feel absolutely dumb as a boot for asking these kind of things. I
> come from strong C++ / Java background but getting the extra inch of
> speed for everything on Android is so different than optimizing code
> for PC side and not that you even have to do it on PC side that often.
>
> Fire away gents and ladies!
-- 
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