
Efficient Android Threading
Anders Goransson
- Editorial
- O'Reilly
- Año
- 2014
- Páginas
- ~279
- Nivel
- Intermedio
De qué trata
Tratado de ingeniería de software especializado en concurrencia, multiprocesamiento y gestión de tareas en segundo plano en el sistema operativo Android (enfocado en Android 4.x KitKat). Anders Göransson orienta esta obra a desarrolladores intermedios y avanzados que dominan Java y los componentes básicos de Android, pero necesitan dominar la ejecución asíncrona para eliminar los cuelgues de interfaz (alertas ANR), garantizar una tasa fluida de 60 fotogramas por segundo y evitar fugas de memoria.
El libro se divide en fundamentos teóricos y técnicas asíncronas concretas. Explica detalladamente el modelo de hilos de la máquina virtual (Dalvik y ART), el funcionamiento del hilo principal o UI Thread y la tríada fundamental Looper-Handler-MessageQueue. Enseña mecanismos de comunicación intra e interprocesos (IPC mediante Binder y Messenger) y patrones seguros para evitar la retención involuntaria de referencias a Activities. Entre las herramientas y APIs del SDK que domina se incluyen HandlerThread para colas secuenciales, el framework de ejecutores de Java (ThreadPoolExecutor, Callable y Future), AsyncTask y sus particularidades en el ciclo de vida, servicios desacoplados con IntentService, consultas asíncronas a Content Providers con AsyncQueryHandler y el uso de Loaders (CursorLoader y AsyncTaskLoader).
No se centra en el desarrollo de una única aplicación comercial, sino en la implementación rigurosa de patrones de concurrencia y ejemplos modulares que resuelven problemas reales de procesamiento de datos, cómputo intensivo y operaciones de red. Su gran mérito es la profundidad analítica con la que expone el comportamiento interno de Android a bajo nivel y los riesgos sutiles de la programación concurrente. Aunque APIs como AsyncTask y Loaders quedaron formalmente obsoletas con la llegada de Kotlin Coroutines y Flow, los conceptos subyacentes de bucles de mensajes, comunicación entre hilos y contención de recursos siguen siendo un conocimiento fundamental para comprender cómo gestiona Android el tiempo de CPU.
- Multithreading
- Concurrencia en Java
- UI Thread
- Looper y Handler
- AsyncTask
- HandlerThread
- Executor Framework
- IntentService
- Loaders
- AsyncQueryHandler
- Fugas de memoria
- IPC y Binder
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✗ Sin proyectos

