¿Cuáles son las desventajas de RelativeLayout
Estaba listo algunos artículos sobre la optimización de rendimiento para los diseños de Android. La mayoría de ellos recomendaron usar RelativeLayout
sobre otros diseños porque esto podría ayudarle a evitar los Layouts anidados, que consumen memoria.
Personalmente, creo que cada cosa tiene sus ventajas y desventajas. Pero no pude averiguar las desventajas de la RelativeLayout
s sobre los diferentes tipos de diseños.
- Layout_above no funciona correctamente con layout_alignParentBottom
- Centrado vertical en RelativeLayout anidado dentro de un ListView
- RelativaLayout TextView superposición
- Android: Alinear el fondo principal + el margen inferior mediante programación
- RelativeLayout: alinear la vista con el hijo del grupo de vista de hermanos
¿Cuáles son las desventajas de RelativeLayouts?
¿Cuándo debería evitar usar RelativeLayouts?
Gracias por adelantado.
- Problema con RelativeLayout cuando View visibility es View.GONE
- Arrastrar y soltar de Android. Posicionamiento de la imagen después de arrastrar
- Cómo alinear un elemento a la derecha de su centro de padres? (Diseños de Android)
- RelativeLayout dentro de LinearLayout?
- Uso de layout_above en un RelativeLayout
- Android GLSurfaceView fondo transparente sin setZOrderonTop
- Encuentra la posición de un mapa de bits en la vista de imagen de Android cuando la vista de contenedor se escala centerInside
- Tener un EditText sobre un teclado suave con una vista GL en el fondo mediante programación
Para mí, RelativeLayout es demasiado lento si tiene que reorganizar sus componentes. Ese es el mayor inconveniente.
Por esta razón, diría que RelativeLayout son realmente buenos como diseño de nivel superior y diseño de nivel inferior. Sin embargo, los diseños de nivel medio, se sirven mejor utilizando el formato taylored (Lineal, Tabla …).
Por ejemplo, al crear un formulario, el diseño superior de mi Actividad o Fragmento será un RelativeLayout, pero mi formulario se creará como un gran LinearLayout vertical. Y dentro de este lineal, cada línea será un RelativeLayout en el cual tendré una vista de texto y un texto de edición.
De esta manera puedo clasificar muy fácilmente los campos de mi forma y (pienso) guardo mi memoria de la disposición amistosa por no overusing anidado LinearLayout.
Disposición relativa es el diseño más utilizado en la mayoría de los casos y de mi experiencia, sin desventajas con este layout.Like que dije antes de elegir lo que sea mejor para el trabajo, y se preocupan por el rendimiento más tarde.
actualización:
He copiado el comentario de Is a RelativeLayout más caro que un LinearLayout?
En una charla en Google I / O 2013 (Redacción de vistas personalizadas para Android), Romain Guy aclaró el malentendido que hizo que todos comenzaran a usar RelativeLayouts para todo. Un RelativeLayout siempre tiene que hacer dos pasos de medición. En general es insignificante, siempre y cuando la jerarquía de vista es simple. Pero si su jerarquía es compleja, hacer un pase de medida adicional podría ser bastante costoso. También si anida RelativeLayouts, obtendrá un algoritmo de medición exponencial.
https://www.youtube.com/watch?v=NYtB6mlu7vA&t=1m41s