Solución a la rotación de pantalla con AsyncTask

Guía para evitar fugas de ventanas al rotar Android: de AsyncTask a ViewModel con LiveData/StateFlow y coroutines, usando ProgressBar y buenas prácticas de ciclo de vida.

4 sept 2025 • 3 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Cómo resolver el problema de rotación de pantalla con AsyncTask en Android y evitar fugas de ventanas y fallos al actualizar la interfaz. Cuando una Activity crea una AsyncTask y el usuario rota la pantalla, el sistema destruye esa Activity y crea otra instancia. La tarea en segundo plano continúa, pero pierde la referencia a la UI. Si intenta mostrar o cerrar un ProgressDialog o actualizar un ImageView de la Activity destruida, aparecerán errores típicos como WindowLeaked y IllegalArgumentException al no estar la vista adjunta al WindowManager.

Escenario típico. La Activity lanza una AsyncTask para descargar una imagen y muestra un ProgressDialog. Al rotar, la Activity se destruye, el diálogo queda asociado a una ventana que ya no existe y la tarea sigue enviando callbacks a una referencia inválida. Resultado. Excepciones en tiempo de ejecución y cierre inesperado de la app.

Solución rápida pero frágil. Cancelar la AsyncTask en onPause u onStop y cerrar el ProgressDialog. Funciona, pero el usuario pierde el progreso y la descarga se interrumpe con cada rotación.

Solución robusta con Fragment retenido. Mueve la AsyncTask a un Fragment y usa setRetainInstance(true) para conservarlo entre cambios de configuración. Así evitas recrear la tarea y mantienes el estado del proceso. Puntos clave. Crea la AsyncTask dentro del Fragment y expón callbacks para onProgress, onResult y onCancel. Solo toca la UI cuando el Fragment está adjunto a la Activity. En onDetach del Fragment, cierra cualquier ProgressDialog visible y limpia referencias a bitmaps para evitar fugas de memoria. Usa una bandera para detectar si la rotación ocurrió durante la ejecución y decide si reintentas o reanudas el flujo tras reatachar. En la nueva Activity, el Fragment retenido sigue vivo y puedes volver a conectar los elementos de UI.

Recomendación moderna. AsyncTask quedó obsoleto en Android y setRetainInstance ha perdido relevancia con Architecture Components. En proyectos actuales, prefiere ViewModel para sobrevivir a rotaciones, LiveData o StateFlow para notificar estados de carga y éxito, y coroutines o WorkManager para ejecutar tareas en segundo plano. Sustituye ProgressDialog por un ProgressBar en el layout. Usa referencias débiles al contexto cuando sea necesario y cancela el trabajo en onCleared del ViewModel para liberar recursos.

Buenas prácticas adicionales. No mantengas referencias directas a Activities dentro de tareas en segundo plano. Centraliza estados de carga, éxito y error en un único contenedor de estado para simplificar la UI. Si descargas imágenes, valora librerías como Glide o Coil que ya gestionan caché y ciclo de vida. Si necesitas continuidad garantizada, usa WorkManager con restricciones de red y batería.

En Q2BSTUDIO diseñamos aplicaciones a medida y software a medida que gestionan correctamente cambios de configuración, multihilo y ciclos de vida complejos, integrando además analítica, seguridad y despliegues escalables. Si buscas un partner para crear o modernizar tu app Android, descubre nuestro enfoque full stack en desarrollo de aplicaciones y software multiplataforma.

Más allá del front, construimos backends resilientes con servicios cloud aws y azure, pipelines CI CD y monitorización. Si tu aplicación móvil requiere escalado dinámico, balanceo de carga o almacenamiento seguro, te ayudamos a definir la arquitectura y el coste total de propiedad. Conoce nuestros servicios cloud aws y azure.

Nuestro equipo experto integra inteligencia artificial e ia para empresas, agentes IA y servicios inteligencia de negocio con power bi para activar casos de uso de recomendación, búsqueda semántica, clasificación y reporting avanzado. También reforzamos la ciberseguridad con auditorías y pentesting para prevenir vulnerabilidades desde el diseño. Palabras clave relevantes para tu proyecto. aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

Resumen accionable. Si aún usas AsyncTask, migra a ViewModel y coroutines con un ProgressBar en la vista. Si necesitas mantener la lógica existente, encapsúlala en un Fragment retenido que maneje correctamente los callbacks y cierre diálogos en onDetach. Para una solución sostenible y lista para producción, apóyate en patrones modernos, pruebas automatizadas y observabilidad. En Q2BSTUDIO te acompañamos desde el diseño hasta la puesta en producción con calidad, rendimiento y seguridad.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.