Каждый класс, производный от класса View, имеет invalidate и метод postInvalidate . Если вызывается invalidate, он сообщает системе, что текущее представление изменилось, и его следует перерисовать как можно скорее. Поскольку этот метод может быть вызван только из вашего UIThread, необходим другой метод, когда вы не в UIThread и все еще хотите уведомить систему об изменении вашего View. Метод postInvalidate уведомляет систему о не-UIThread, и представление как можно скорее перерисовывается в следующем цикле событий в UIThread. Это также кратко объяснено в документации SDK.
Просто сравните аннулируйте и postInvalidate .