Boş zamanlarımda bir android oyun kurdum. Libgdx kütüphanesini kullanıyor, bu yüzden biraz ağır kaldırma benim için yapılıyor.
Gelişirken, bazı prosedürler için dikkatsizce veri tiplerini seçtim. Hashtable kullandım çünkü ilişkisel diziye yakın bir şey istiyorum. İnsan tarafından okunabilir anahtar değerler. Başka yerlerde de benzer şeyler elde etmek için bir vektör kullanıyorum. Libgdx'in vector2 ve vector3 sınıfları olduğunu biliyorum, ancak onları hiç kullanmadım.
Garip sorunlarla karşılaştığımda ve yardım için Stack Overflow'u aradığımda, birçoğu teknik olarak "uygun" olduğunda, belirli bir veri türünü kullanan soruları raybalayan birçok insan görüyorum. ArrayList kullanmak gibi, çünkü bir int [] 'i yeni tanımlanmış sınırlarla yeniden tanımlamak yerine tanımlanmış sınırlar gerektirmez. Veya bunun gibi önemsiz bir şeyi bile:
for(int i = 0; i < items.length; i ++)
{
// do something
}
Her yinelemede item.length değerini değerlendirdiğini biliyorum. Ancak, öğelerin asla 15 ila 20 öğeden fazla olmayacağını da biliyorum. Öyleyse, her yinelemede items.length değerlendirir miyim?
Uygulamanın doğru ve tam olarak tanımladığım yöntemi kullanarak nasıl performans gösterdiğini görmek için bazı testler yaptım, öğreticiyi izleyin ve topluluk tarafından önerilen tam veri türlerini kullanın. Sonuçlar: Aynı şey. Ortalama 45 fps. Her uygulamayı telefon ve galaksi sekmesinde açtım. Fark yok.
Sanırım size sorum şu: Bu artık uygun olmadığında önemli olan bir eşik var mı? Söylemesi tamam mı - "işi bitirdiği sürece umrumda değil mi?"