¿Cuál es la diferencia entre los métodos invalidate () y postInvalidate () de Android?

¿Cuál es la diferencia entre Androidinvalidate() ypostInvalidate() métodos? ¿Cuándo se llama a cada uno? ¿Deben llamarse los métodos solo en clases que extiendenView?