Сталкивался ли с методом invalidate у View

«Сталкивался ли с методом invalidate у View» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Метод invalidate() у View используется для перерисовки (перерисовки) вью. Он помечает текущую область вью как "грязную" и запланирует вызов onDraw() в основном потоке.

Есть также postInvalidate(), который можно вызывать из фонового потока.

Пример:

view.invalidate() // Перерисует всю вью
view.invalidate(left, top, right, bottom) // Перерисует только указанную область

Важно: частые вызовы invalidate() могут привести к проблемам с производительностью. Для сложных анимаций лучше использовать ValueAnimator или ViewPropertyAnimator.