Разница между методами invalidate и draw в Android заключается в их назначении:
- invalidate() инициирует принудительную перерисовку определённого представления. 3 Его следует вызывать в случае, когда требуется изменение внешнего вида представления. 3
- draw() отвечает за саму отрисовку. 13 Фреймворк Android вызывает этот метод только по мере необходимости. 1 Внутри него для рисования используется предоставленный холст (объект Canvas). 1
Таким образом, метод invalidate() указывает системе, что представление нужно перерисовать, а затем Android вызывает метод draw(). 14 Это эффективно, так как рисование отнимает много времени, и не хочется делать это больше, чем необходимо. 2