2011-07-29 20 views
8

Tümüyle aynı boyutta (150'den fazla resim var) görüntülerin görüntülerini (166dp x 249dp olan 7 resim sütunu) görüntüleyen bir GridView'ım var ve görüntü geri dönüşüm mekanizmasını görüntü tutucu deseni aracılığıyla kullanıyorum. adaptörün Görüşlerim sadece ImageViews. Bu widget üzerinde kaydırmayı yavaşlatması gereken pek bir şey yok (bir seferde ekranda 21 resim var), ancak bu şey çok dalgalı bir şekilde kayıyor. Hızlandırmak için ne yapabilirim?Android: GridView'ın kaydırmasını nasıl hızlandırabilirim?

+0

Bu, emülatörde veya bir aygıtta mı bulunuyor? – James

+0

Cihazda. Motorolla Xoom, Android 3.1 –

+0

ImageView içeriği nereden geliyor? Bir jpeg veya png'nin bir Bitmap nesnesine kodunun çözülmesi, onu yavaşlatmak için yeterli zaman alabilir. Kod çözmeyi tekrar tekrar yapmaktan kaçınmak için görüntüdeki Bitmap'leri belleğe almak isteyebilirsiniz. – Petrus

cevap

8

Son Google Geliştirici Laboratuarı sırasında Google'daki bazı erkeklerle konuştum ve GridView'ın çok fazla korunmadığını ve ListView'ı kullanmam gerektiğini, satırların kendimi bir ızgara yapmak için kod olarak koymasını söyledim. Yaptığım şey buydu ve şimşek çaktı.

+1

Merhaba, sizi rahatsız ettiğim için üzgünüm :) Sizinle aynı sorunu yaşıyorum ve bunun yerine ListView'in kullanıldığını yazdığınız için, ağdaki bazı kod örneklerini aramaya çalıştım. Ancak, bulamıyorum, bu yüzden sorunu nasıl çözdüğünüzü bize gösterebilir misiniz diye merak ediyorum. – eightx2

+2

Ne yazık ki, çalıştığım şirket bu kodun telif hakkına sahip, bu yüzden sizinle paylaşamıyorum. Ancak, ne yapmanız gerektiğini size söyleyebilirim. Sadece GridView'unuzun yerine bir ListView kullanın. Bir Bağdaştırıcı Yaz (BaseAdapter'ı genişlet) ve getView yönteminde, oluşturduğunuz belirli satır (konum) için gereken birçok Görünümü (bunlar sütunlarınızdır) programsal olarak ekleyin. ViewHolder kalıbını uyguladığınızdan emin olun, aksi takdirde bellek ve performans sorunlarınız olur. –

İlgili konular