Что делает postInvalidate ()?

Какая функция postInvalidate() используется в Android? Я видел эту функцию во многих местах. Когда я Googled, я вышел с этим много:

postInvalidate – отправить запрос недействительности в пользовательский интерфейс

Я не знаю, что означает фраза «invalidate request». Может кто-нибудь объяснить подробно, что здесь происходит?

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

    Просто сравните invalidate и postInvalidate .

    С помощью этого метода ( postInvalidate() ) вы можете аннулировать View из streamов, отличных от UI. Чтобы аннулировать метод View from UI-thread, используйте метод invalidate() .

    View.onDraw(Canvas) означает, что метод View.onDraw(Canvas) мы вызываем в какой-то момент в будущем (а не сразу), чтобы перерисовать весь View (если View виден).

    Android перерисовывает View s автоматически, но иногда необходимо сказать: «Эй, этот View был изменен, перерисовывайте его как можно быстрее».

    Больше на:

    http://developer.android.com/guide/topics/ui/how-android-draws.html

    http://developer.android.com/reference/android/view/View.html#invalidate%28%29

    Простыми словами метод invalidate() можно вызывать из postInvalidate() пользовательского интерфейса, а postInvalidate() можно вызывать из postInvalidate() от UI, чтобы сообщить андроиду обновить наш пользовательский вид после внесения в него каких-либо изменений.

    Давайте будем гением компьютера.