This question extends from these questions:
Well, a JVM running on a server is well optimised, I know. Programs like Minecraft server runs pretty smoothly with a little pause time every few seconds(it's still well over 2-5ms, so that's still quite a lot for some applications). If I'm writing apps like that, I'd have no trouble getting sleep at night to think about if I should implement object pooling for that Java app that I should make. But this time, I'm making an Android app.
My app will create a considerable number of POJOs, specifically vector/quat that have 3/4 double primitives as its member(might fall back to float if necessary) every 40TPS game tick. Purpose of them being algorithms like line-plane intersection, acceleration/velocity calculation, and so on. On one tick it could take O(N*N) time, given that the optimisation will be done after the release of the app.
Should I be worried about this? Are Dalvik VMs considered the VMs with "moden GCs"? My app's code will get bloated after this point of development and I need to decide if I should at least wrap creation of Vectors around factory method so I could implement something like thread-local object pool on it later on.
- The target API level is 21. So, the title is misleading. It's question about Android JVMs