Con bastantes años en servicio y varios millones de crashes la API AsyncTask, para realizar llamadas asíncronas, paso a ser una API depreciada dentro del universo Android 11 (API R), este cambio se vuelve notorio incluso al actualizar el targetSdkVersion al nivel 29 (Android 10), en donde ya marca dicha librería como sin soporte.
En las últimas versiones se ha visto un aumento de APIS desechadas, esto se debe a la estandarización de procesos que Google ha estado implementando a varios niveles del sistema Android, dichos cambios que empezaron en Android 8 (API 26) hoy se van consolidando y a su paso se llevan viejas costumbres y sus maneras de operar.
Las siguientes son alternativas sustituyen en su totalidad las AsyncTaks y seguiran siendo soportadas por Android en futuras versiones.
OPCIONES NATIVAS
Futures
En primer lugar, Google recomienda usar los Futures para los que Java cuenta con soporte desde su versión 5, una a API bastante sutil y funcional que se encuentra nativamente en todas las versiones de Android.
La única desventaja por decirlo así es que sigue un esquema de declaración clásico por lo que puede resultar poco intuitivo.
Su sintaxis es la siguiente:
Documentacón
Completable Futures
Introducidos en Java 8 como una evolución natural de los Futures clásicos, para poder utilizarlos se deberá habilitar el soporte de Java 8 en Android, su sintaxis funcional la pone a la vanguardia respecto a tendencias similares en otros lenguajes. A diferencia de los Futures es posible complementar su funcionamiento concatenando operaciones mediante funciones anónimas.
Su sintaxis es la siguiente:
Documentacón
OPCIONES NO NATIVAS
RxJava
RxJava
La librería por excelencia para tareas asíncronas, sin duda una gran opción, aunque nos obliga a mantener una compatibilidad extra al ser una librería agregada.
Link con la guía de implementación
Fraternalmente I.I. Daniel Rosillo;
- Project Manager at Rosillo Labs