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

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

    0

    Caner Güral

    30 Ocak 2014

    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:

      coder86

      Cum, 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.

    0

    Ali CAN

    29 Ocak 2014

    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.

      coder86

      Çar, 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.
    Bu soruya cevap vermek için üye olmanız veya giriş yapmanız gerekmektedir.