Questa domanda si estende da queste domande:
Bene, una JVM in esecuzione su un server è ottimizzata, lo so. Programmi come il server Minecraft funzionano senza problemi con un po 'di pausa ogni pochi secondi (è ancora ben oltre i 2-5ms, quindi è ancora abbastanza per alcune applicazioni). Se sto scrivendo app del genere, non avrei problemi a dormire la notte per pensare se dovessi implementare il pool di oggetti per quell'app Java che dovrei fare. Ma questa volta, sto facendo un'app per Android.
La mia app creerà un numero considerevole di POJO, in particolare vector / quat che hanno come primo membro 3/4 primitive doppie (potrebbe tornare a galleggiare se necessario) ogni spunta di gioco 40TPS. Scopo di essi sono algoritmi come l'intersezione del piano di linea, il calcolo dell'accelerazione / velocità e così via. Con un tick potrebbe richiedere O (N * N), dato che l'ottimizzazione verrà eseguita dopo il rilascio dell'app.
Dovrei essere preoccupato per questo? Le macchine virtuali Dalvik considerano le VM con "moden GC"? Il codice della mia app diventerà gonfio dopo questo punto di sviluppo e ho bisogno di decidere se dovrei almeno avvolgere la creazione di Vettori attorno al metodo factory in modo da poter implementare qualcosa come thread-local object pool su di esso in seguito.
Modifica
- Il livello API di destinazione è 21. Quindi, il titolo è fuorviante. È una domanda su JVM Android