Desarrollador Android: pregunta de entrevista
¿Cómo mejoras el rendimiento de una app Android?
Mejora rendimiento Android midiendo inicio, frames, memoria, batería y red con Macrobenchmark, profiler y trazas; corrige bloqueos del hilo principal, recomposición, asignaciones o trabajo excesivo.
Respuesta directa
Qué debe cubrir una buena respuesta
Cómo funciona
El trabajo de rendimiento se guía por medidas de lo que sienten los usuarios: tiempo de arranque en frío, jank medido como frames que superan el plazo, presión de memoria, batería y volumen de red. Macrobenchmark da números reproducibles de arranque y scroll, el profiler y las trazas de Perfetto muestran qué hace el hilo principal durante un frame lento, y el inspector de layout de Compose cuenta recomposiciones. Las mejoras típicas son sacar disco y red del hilo principal, diferir inicializaciones de Application.onCreate con App Startup, corregir recomposiciones excesivas, usar baseline profiles para precompilar el código caliente y reducir imágenes al tamaño que realmente se muestra.
Ejemplo
Una lista que perdía frames al hacer scroll mostró en una traza de Perfetto que cada fila decodificaba un bitmap a tamaño completo en el hilo principal; cargar con Coil con una pista de tamaño y un decodificador asíncrono dejó el tiempo de frame por debajo de 16 ms. Añadir un baseline profile redujo el arranque en frío de 1,8 s a 1,1 s en un dispositivo de gama media, verificado con Macrobenchmark antes y después.
Errores frecuentes
- Optimizar por intuición en lugar de con una traza del frame lento o del arranque lento.
- Medir en un teléfono de gama alta e ignorar los dispositivos de gama baja que tiene la mayoría.
- Inicializar cada SDK de forma síncrona en Application.onCreate.
Una estructura útil para responder
Responde desde tu propia experiencia.
No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.
Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.