Esta es una pregunta más compleja de lo que parece. El problema de Android es la extrema diversidad. No solo por el tamaño de la pantalla y las versiones de Android (es bastante fácil de administrar).
La fuente principal de mis frustraciones son las incompatibilidades introducidas por los fabricantes de teléfonos. La mayoría de ellos toma Android y agrega múltiples “mejoras” y no les importa la compatibilidad. Muchas de esas mejoras claramente rompen las especificaciones de Android, por lo que para el programador realmente parece que el error proviene de la nada.
Un ejemplo que me vuelve loco los últimos meses: muchos fabricantes chinos están agregando características “interesantes” en las calles del Centro de seguridad. Este centro de “seguridad” permite evitar que las aplicaciones se inicien al iniciar el teléfono. El problema es que las especificaciones de Android contienen esta característica (y muchas aplicaciones dependen de esta característica), pero los teléfonos chinos eliminan silenciosamente esta capacidad de la aplicación y los usuarios me dan una mala calificación porque no entienden cómo funciona la llamada “seguridad”.
- ¿Cómo funciona OnClickListener en Android? ¿Alguien puede darme una explicación concisa?
- ¿Cuáles son las ventajas y desventajas de crear una aplicación híbrida en lugar de crear aplicaciones separadas de iOS y Android?
- ¿Cuál es el significado de setcontentview (R.layout.main) en Android?
- ¿Qué cosas debe saber un desarrollador de Android antes de crear una aplicación móvil de Android?
- ¿Cuál es el problema con mi Android Studio? Dice: No se pudo encontrar la clase principal com / intellij / idea / Main
Otro problema similar son los llamados “ahorradores de batería” que matan a las aplicaciones de larga duración que usan mal la API destinada a personas con discapacidad. Esos “ahorradores de batería” (de hecho, no ahorran nada, ya que sirven muchos anuncios que consumen mucho más que los ahorradores) matan otras aplicaciones, por lo que esas aplicaciones no pueden funcionar como se esperaba. Esto también es “error de la nada”.
Y muchas otras cosas.