Avoid creating unnecessary objects Allocating memory is always very expensive
Slice up multidimensional arrays into parallel single one-dimension arrays: - An array of ints is a much better than an array of Integers, - Multiple parallel arrays are
generally much better than a single array of custom objects
Prefer static over virtual If you don't need to access an object's fields, make your method static.
Avoid internal getters/setters Within a class you should always access fields directly, virtual method calls are expensive
Use static final for constants
Use enhanced for loop syntax use for (Type elem : array)
Consider Package Instead of Private Access if the field or method need to be accessed by Private Inner Classes access
Use floating-point judiciously Floating-point is about 2x slower than integer on Android devices
Use native methods judiciously Native code isn't necessarily more efficient than Java.