Ventajas encontradas del trabajo realizado con vectores en Android Studio

  1. La principal ventaja de usar un elemento de diseño vectorial es la escalabilidad de la imagen. Se puede ajustar sin perder la calidad de imagen, es decir, se cambia el tamaño del mismo archivo en función de las distintas densidades de pantalla sin afectar la calidad.

  2. Se puede usar imágenes vectoriales para la animación si utilizas varios archivos XML en lugar de diferentes imágenes para cada resolución de pantalla.

  3. La herramienta Vector Asset Studio ofrece un método sencillo para agregar un gráfico vectorial al proyecto como archivo XML.

Desventajas encontradas del trabajo realizado con vectores en Android Studio

  1. Si se usan formas muy complejas, llevará más tiempo analizar esto en un elemento Path. Asimismo, más operaciones de dibujo demorarán más tiempo (y algunas son más costosas, como las de recorte). 

  2. En el caso de los vectores estáticos, la etapa de dibujo solo debe realizarse una vez y luego puede almacenarse en caché en un Bitmap. Los vectores animados no pueden realizar esta optimización, ya que sus propiedades cambian y deben volver a dibujarse.

  3. Si bien este formato es ideal para usar con herramientas establecidas, también es un estándar vasto. Incluye muchas funciones complejas, como ejecutar código JavaScript arbitrario, efectos de desenfoque y filtro, o incorporar otras imágenes, incluidos GIF animados. Como Android se ejecuta en dispositivos móviles restringidos, admitir la totalidad de la especificación de SVG no es un objetivo realista.

Casos en los que es recomendable el almacenamiento de la información a través de la clase SharedPreferences.


  1. Guardar las preferencias de los usuarios, configuraciones, tal vez datos (si no es muy grande) para que la próxima vez que la aplicación sea lanzada, estas piezas de información podrían ser recibidas y usadas.

  2. almacenar y recuperar muy fácilmente un par clave/valor, con la particularidad de que sólo contiene datos primitivos (float, int, string, Parcelable...).

  3. Cuando tenemos que almacenar una cantidad limitada de datos es adecuado utilizar la clase SharedPreferences. Por ejemplo, configuraciones de la aplicación como pueden ser colores de pantalla, nivel actual en un juego, datos iniciales de controles de entrada de dato etc.