@sksk That last point is not accurate. Nothing prevents you from making reusable objects (avoiding autoboxing and editing/resetting the properties), no need for value types here. This is only valid in Dalvik/ART though. In the native world, there's no gc by default, so if the game lags, it's either because it's improperly implemented, doing not really needed work, or because the device is not powerful enough, or because it's too hot and needs to throttle to not overheat, or a combination of those.