Turkcell | Geleceği Yazanlar

Soru & Cevap

Bir Layout içerisinde max. kaç widget kullanılmalıdır?

28.01.2014 - 12:30

Merhaba;

Bir layout içerisinde maximum kaç vidget kullanmayı önerirsiniz ? Vidget lara görsellik kazandırırken Photoshop yada XML arasında ne kadarlık bir performans uçurumu olur?

Teşekkürler

3605 Görüntülenme

2 Cevap

Caner Güral
30.01.2014 - 11:10

Aslında layout içerisinde yerleştirdiğiniz widget'lar için bir sınır söylenmemişse bile kullanıcıyı ilgilendiren bir sınır var. Uygulama arayüzünüz yanıt verebilir bir arayüz olmaktan çıktığında o kullanıcıyı ilgilendiren bir sınır ortaya çıkıyor.

Fazla layout/widget yani fazla view, artan çizim (onDraw) süresi demek. Bir view, ekrana ne kadar çok çizim yapılarak çıkartılıyorsa o kadar sistem kaynağı harcanmasına sebep oluyor. Aynı şekilde çok fazla View barındıran ViewGroup'lar da (LinearLayout, RelativeLayout, ListView vb) öyle. İlk üretilen layout'lardan olan LinearLayout'un fazla kullanıldığı eski Android uygulamalarında bu darboğazlar öne çıkıyordu. Çünkü ekrana ekrana çok fazla widget yerleştirmek isteyen geliştiriciler olabiliyordu. Sonra onları hizalamak için bir sürü LinearLayout içerisine alıyor ve doğal olarak da uygulamanın bellekten ve bataryadan gereğinden fazla tüketmesine neden olunuyordu. GridLayout bu ihtiyaçtan üretildi örneğin.

Sadeliği, Android'in kendi tasarım alışkanlıklarını ve performansı göz önüne alarak çok fazla widget'ı ve layout'u (hele ki iç içe) kullanmamak gerek.

Oluşturduğunuz UI'ların ne kadar sürede çizildiği, performanslarının Android tarafından nasıl değerlendirildiği gibi debug amaçlı bilgileri almak için Hierarchy Viewer isimli bir araç var: http://developer.android.com/tools/debugging/debugging-ui.html Kesinlikle bir göz atmalısınız.

Şu videoda bu araç kullanılarak yapılmış bir çalışma var:

Nurettin
31.01.2014 - 14:01
Cevabınız gerçekten çok aydınlatıcı. Bu konuda çok soru işaretleri vardı kafamda, bunlar yanıt buldu teşekkür ederim.
Ali CAN
29.01.2014 - 11:35

Bir layout içinde kullandığın view sayısının bir önemi yoktur. İstediğin kadar kullanabilirsin. Tabi mesela relativeLayout içinde ne kadar çok viewi bir arada kullanırsan tasarım değişiklikleirnde o kadar zorluk çekersin. Bağımlı olunan bir viewin yerini değiştirisen bağımlı olanların da yeri değişecektir.

Görsellik kısmındaki performansla alakalı ne demek istediğini biraz daha açabilir misin.

Nurettin
29.01.2014 - 14:26
Cevabını için cok teşekkür ederim. Görsellikle ilgili bahsetmek istediğim şey , photoshopla hazırlanan resimlerin yerine sadece xml ile renkler vererek tasarım yapsak daha mı iyi olur diye düşiünmüştüm. Bir resim 1 kb bile olsa resim sayısı arttıgında programın derlenmesi daha mı zor olur acaba dedim kendi kendime.
  • Filtered HTML

    Plain text

    Basic HTML

  • Dikey Sekmeler