Micro optimizaciones 3 - Gerzon-MISO/misw4203-ingenieria-de-software-para-aplicaciones-moviles-2021-15 GitHub Wiki

Micro-optimizaciones

Para las micro-optimizaciones hicimos uso de la herramienta lint del IDE android studio.

Se realizo el análisis de código estático, obteniendo los siguientes resultados:

Inspección Inicial

Nos centramos en resolver la mayor cantidad de errores y warnings encontrados por la aplicación principalmente en la categoría Performance, dentro de estas mejoras se resaltan los siguientes tipos:

Unused resources

  • Para este tipo se realizo la eliminación de variables, objetos y funciones, así como también recursos y declaraciones que no usa la aplicación. Permitiendo así una mejora del uso de recursos de la memoria RAM. Adicional se realizo elminicación de imports que no son necesarios entre otros cambios identificados para la mejora del performance.

Commit: https://github.com/Gerzon-MISO/misw4203-ingenieria-de-software-para-aplicaciones-moviles-2021-15/commit/ba49dcf474c3ce8e1d5bfcd81d0fd1e8191e2b5a

Ciclo de procesamiento de respuesta del servidor

  • En esta mejora se resalta una mejora a nivel de creación de variables en memoria para las iteraciones de la aplicación en ciclos for.

Commit: https://github.com/Gerzon-MISO/misw4203-ingenieria-de-software-para-aplicaciones-moviles-2021-15/commit/a91113b2f3b651a03347cef48f9bc987fa24928b

Accessibility

Se identifico gracias al análisis una advertencia a nivel de accesibilidad, la cual indicaba que el campo fecha ademas de ser clickable fuera focusable.

Commit: https://github.com/Gerzon-MISO/misw4203-ingenieria-de-software-para-aplicaciones-moviles-2021-15/commit/97a8ffaef207ca4c8b1e9f7485d759cd461a5340

Inspección Final

Se logro eliminar los warnings de la categoria performance en un 15% pasando de 14 a 12 y adicional se corrige la advertencia que se presentaba a nivel de accesibilidad. Las 12 warnings restantes se mantienen ya que la corrección de estas pueden afectar el funcionamiento actual de la aplicación.

Se creo una rama como evidencia de estos ajustes que agrupa los commits relacionados anteriormente. (feature/TV02)

https://github.com/Gerzon-MISO/misw4203-ingenieria-de-software-para-aplicaciones-moviles-2021-15/tree/feature/TV02

Uso de buenas practicas

Durante la implementación del sprint 3, se continuo con el uso de buenas practicas vistas en el curso, para el optimo uso del consumo de memoria y evitar ANRs, tales como:

  • Optimizar el uso de imágenes en las listas en tamaño y también en la librería Picasso.
  • Reducir la cantidad de peticiones aplicando una táctica de caching que se realizan sobre todo entre cambios de pestañas.
  • Aplicar Corrutinas en las listas donde se prevé tener una gran cantidad de Items como Coleccionistas y Álbumes.
  • Fixes en el Uso de los Scrollview que se encuentran anidados ya que con pocos items la lista no scrollea de manera correcta, lo que puede causar problemas de rendimiento con una lista mas grande.