Ho costruito un gioco Android nel mio tempo libero. Sta usando la libreria libgdx quindi un bel po 'di lavoro pesante è fatto per me.
Durante lo sviluppo, ho selezionato con noncuranza i tipi di dati per alcune procedure. Ho usato una tabella hash perché volevo qualcosa vicino a un array associativo. Valori chiave leggibili dall'uomo. In altri posti per ottenere cose simili, uso un vettore. So che libgdx ha classi vector2 e vector3, ma non le ho mai usate.
Quando mi imbatto in strani problemi e cerco aiuto in Stack Overflow, vedo molte persone che stanno semplicemente risolvendo le domande che utilizzano un determinato tipo di dati quando un altro è tecnicamente "corretto". Come usare una ArrayList perché non richiede limiti definiti rispetto alla ridefinizione di un int [] con nuovi limiti noti. O anche qualcosa di banale come questo:
for(int i = 0; i < items.length; i ++)
{
// do something
}
So che valuta item.length su ogni iterazione. Tuttavia, so anche che gli articoli non saranno mai più di 15-20 articoli. Quindi dovrei preoccuparmi se valuto items.length su ogni iterazione?
Ho eseguito alcuni test per vedere come si comporta l'app utilizzando il metodo che ho appena descritto rispetto a quello corretto, seguire il tutorial e utilizzare gli esatti tipi di dati suggeriti dalla community. I risultati: stessa cosa. Media 45 fps. Ho aperto tutte le app sul telefono e sulla scheda galassia. Nessuna differenza.
Quindi immagino che la mia domanda per te sia questa: esiste una soglia quando non conta più che sia corretta? Va bene dire - "fintanto che fa il lavoro, non mi interessa?"