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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.