Junior — Middle
¿Se llama necesariamente al método onDraw() al llamar al método requestLayout()?
sobes.tech AI
Respuesta de la IA
La llamada al método requestLayout() no garantiza una llamada inmediata a onDraw().
requestLayout() inicia el recálculo de la posición y tamaño de la vista, lo que implica la llamada a onMeasure() y onLayout(). Después de completar con éxito estas etapas, el sistema decide si necesita volver a dibujar la vista, y si es así, llama a onDraw().
Por lo tanto, onDraw() no se llama necesariamente justo después de requestLayout(), sino solo si los cambios requieren volver a dibujar.
Si necesita forzar una redibujación sin cambiar el tamaño o la posición, debe usar invalidate(), que conduce directamente a la llamada a onDraw().