Este artículo está traducido de la publicación de blog de Amit Shekhar (MindOrks Company) Mejores prácticas de desarrollo de Android para su referencia.
Enlace original:
https://blog.mindorks.com/android-development-best-practices-83c94b027fd3
Examinemos algunas de las mejores prácticas para el desarrollo de aplicaciones de Android.
Para empezar, cuando desarrolla una aplicación de Android, debe tener en cuenta una variedad de dispositivos y entornos operativos.
Cada dispositivo Android es un todo en sí mismo, y si hay un problema con algún módulo, otras partes también se verán afectadas.
Cuando una aplicación solicita memoria, si no hay memoria libre disponible para asignar en ese momento, el sistema eliminará algunos procesos. Cuando el usuario regresa a la aplicación de estos procesos eliminados, la aplicación se reiniciará.
Si una aplicación ocupa demasiada memoria, CPU, GPU o consume demasiada energía, otras aplicaciones también se verán afectadas, lo que resultará en una experiencia de usuario deficiente. Por lo tanto, el rendimiento importa. Si desea obtener información sobre el rendimiento de Android, haga clic aquí .
Cuidado con los pequeños gastos. Una pequeña fuga hundirá un gran barco. — Benjamín Franklin
Estas son algunas de las mejores prácticas que debe seguir al crear aplicaciones de Android.
1. Utilice el marco de Android recomendado
Si no sigue las pautas del código y no usa ningún marco al principio, a medida que las funciones de la aplicación continúan aumentando, se enfrentará a los siguientes problemas:
- Dificultad para añadir nuevas funciones
- introducir muchos errores
- El progreso del desarrollo se ralentiza.Si
sigue ciertas especificaciones de código y utiliza algunos marcos en el proyecto, los problemas anteriores se pueden evitar. Los siguientes enlaces son los siguientes recursos de aprendizaje sobre el marco de trabajo de Android:
MVP Architecture
MVVM Architecture
Mastering Design Patterns in Android with Kotlin
2. Mantener constantemente la calidad del código
La calidad del código es muy importante. No solo involucra marcos como MVP/MVVM/MVC, sino que también involucra todos los aspectos de todo el código de la aplicación. Siga el enlace sobre el estilo y las pautas de codificación de Android.
3. Encuentra y corrige fugas de memoria
Verifique los recursos y encuentre y corrija las fugas de memoria:
Guía práctica para resolver OutOfMemoryError en la aplicación de Android
Detección y reparación de fugas de memoria en Android
4. La versión de lanzamiento debe usar ofuscación de código
Después de usar la ofuscación de código, se eliminará el código inútil, lo que puede reducir el tamaño de APK. Ofuscación de código de Android, haga clic aquí .
5. Usa herramientas de depuración
Recomiendo especialmente usar la base de datos de depuración de Android . La biblioteca de la base de datos de depuración de Android se utiliza para depurar y explorar y ver directamente la base de datos de la aplicación de Android y las preferencias compartidas. Es fácil de usar y potente. También vale la pena mirar la herramienta Build Analyzer .
6. Usa cadenas.xml
Los recursos de cadena son más útiles, especialmente cuando la aplicación necesita mantenimiento durante mucho tiempo, especialmente cuando hay varios requisitos de idioma.
7. Intenta reutilizar el diseño
Cree un archivo de diseño independiente y use la etiqueta de inclusión para hacer referencia a él en el archivo xml. Otra etiqueta útil es merge , que elimina contenedores innecesarios.
8. Coloque el ícono del iniciador en el directorio mipmap
9. Usa más la forma y el selector
Intente usar la forma y el selector, use menos imagen y utilícelo para reducir el tamaño del APK.
10. Evite demasiados niveles de diseño
Cuanto más profundo sea el nivel de diseño, no solo hará que el diseño sea difícil de controlar, sino que también hará que la interfaz de usuario se ralentice. El uso del ViewGroup correcto puede reducir el nivel de diseño, como el diseño de restricción (diseño de restricción), los recursos de aprendizaje relacionados son los siguientes:
10. Usa la biblioteca HTTP
Según su situación específica, use una biblioteca HTTP de terceros, como Retrofit o Fast Android Networking.
11. Intenta usar Parcelable en lugar de Serializable
Cuando use Intent o Bundle para transferir datos, intente usar Parcelable en lugar de Serializable. La serialización mediante la implementación de la interfaz Parcelable es mucho más rápida que la serialización predeterminada de Java. Los objetos de las clases que implementan la interfaz Serializable son serializables, mientras que la implementación de Java utiliza la reflexión (lo que la hace más lenta). Cuando se usa la interfaz Parcelable, el objeto completo no se serializará automáticamente, pero el usuario puede agregar datos de objetos de forma selectiva, y los datos de objetos agregados se pueden eliminar al deserializar. Del mismo modo, Parcelable también está disponible en Kotlin.
12. No realice operaciones de E/S en el subproceso de la interfaz de usuario
Las operaciones de archivo siempre deben ejecutarse en un subproceso en segundo plano, como el uso de rutinas RxJava o Kotlin . Las operaciones con archivos consumen mucho tiempo y, si se ejecutan en el subproceso principal, la aplicación no responderá. Si tarda más de 5 segundos en el hilo principal, la aplicación provocará ANR y aparecerá una ventana de advertencia para el usuario.
12. Comprenda completamente el mapa de bits
Debido a que Bitmap ocupa mucha memoria, puede causar OOM. A los usuarios les encanta el contenido, especialmente el que está organizado y se ve muy bien. Por ejemplo, una imagen vale más que mil palabras. Pero las imágenes consumen mucha memoria. Haga clic aquí para obtener más información. Aprenda a cargar imágenes en el marco Glide o Fresco en Android .
13. Entender completamente el contexto
Comprende qué es el Contexto en Android. El uso correcto de Context puede evitar pérdidas de memoria. Haga clic aquí para obtener más información.
14. Usa estilos
En el diseño, para evitar la configuración repetida de atributos, puede usar el estilo.
15. Trata correctamente el ciclo de vida de la Actividad
Aprender a usar correctamente el ciclo de vida de la actividad puede resolver la mayoría de los problemas encontrados en el desarrollo de Android. Haga clic aquí para obtener más información.
16. Pruebas unitarias
Lo más importante en el desarrollo de aplicaciones son las pruebas unitarias. Recomiendo ejecutar pruebas unitarias en la JVM, que es mucho más rápido que ejecutarlas en un dispositivo o emulador de Android. Si necesita simular algunos objetos durante la prueba, use Mockito . El uso de un marco de inyección de dependencia (Dagger) puede facilitar las pruebas.
17. Pruebas funcionales de la interfaz de usuario
Las pruebas funcionales consisten en probar la funcionalidad de la aplicación desde el punto de vista del usuario. Si su aplicación no interactúa con otras aplicaciones, puede usar Android Instrumentation ; de lo contrario, use UIAutomator .
18. Optimiza la velocidad de construcción
Los proyectos de construcción lenta ralentizan su desarrollo. Haga clic aquí para aprender a optimizar la velocidad de compilación.
19. Centrarse en la seguridad de las aplicaciones
Las aplicaciones se pueden descompilar y realizar ingeniería inversa. Es responsabilidad de cada desarrollador hacer todo lo posible para que la aplicación sea segura. Solo cuando la aplicación es segura puede ganarse la confianza de los usuarios y garantizar la integridad del dispositivo. Haga clic aquí para aprender cómo hacer que su aplicación sea segura.
20. Haz que la aplicación esté libre de errores
Una biblioteca de informes de fallas (como Firebase Crashlytics) siempre debe estar integrada en la aplicación. Tener la capacidad de analizar informes de fallas.
21. Usa marcos maduros
En general, utilice marcos maduros en lugar de sus propias soluciones.
22. Adaptarse a todos los dispositivos
No se limite a adaptarse a un determinado dispositivo.
23. Prueba en diferentes versiones del sistema
Pruebe su aplicación en diferentes versiones del sistema.
Y nuevamente, finalmente, siga probando en varias versiones del sistema operativo.
El llamado regalo de rosas tiene una fragancia persistente . Si te gusta esta publicación de blog, puedes compartirla con otros socios.