Android Architecture Components (parte do Jetpack) são bibliotecas que ajudam a construir apps robustos e mantíveis — incluindo ViewModel (estado ciente do ciclo de vida), LiveData/StateFlow (dados observáveis) e Room (uma abstração de banco de dados). Eles suportam padrões de arquitetura recomendados.
ViewModel — detentor de estado ciente do ciclo de vida
VIEWMODEL holds UI-related state and logic, SURVIVING configuration changes:
→ state stored in a ViewModel SURVIVES screen rotation (the activity recreates, but the
ViewModel persists) → solves the lost-state-on-rotation problem
→ separates UI logic from the Activity/Fragment (the View just observes/displays)
