2013-07-27 60 views
0

我正在使用PostInvalidate(40,Rect);意思是在40毫秒之後,它應該再次調用OnDraw(),但是在調用onDraw()時它似乎花費了超過40毫秒的時間。什麼是b/w invalidate()和postInvalidate()?

我應該使計時器或處理程序無效()。有必要對我來說,在40毫秒

任何建議

回答

0

從文檔稱之爲:

原因指定區域的無效通過事件循環在隨後的 週期發生。等待指定的時間。

這意味着系統將等待40毫秒,然後在通過事件循環的後續循環中,它將執行無效操作。如果您的事件週期較慢,您會對無效作出緩慢的響應。

這意味着失效生效所需的時間受限於循環通過事件循環需要多長時間。它在40毫秒內不會發生。無論Invalidate()花費的平均時間是多少,至少需要40毫秒(至少)。