是否可以在invalidate(Rect)之后立即执行onDraw()?

时间:2014-06-25 00:04:54

标签: java android ondraw invalidation

我在onDraw()方法中添加了一个断点,并注意到我的调试器只在invalidate(rect)结束的方法之后到达。之后可以立即调用吗? 因为我需要在我的方法中调用invalidate(rect)两次。

提前致谢。

2 个答案:

答案 0 :(得分:0)

没有。调用invalidate()是框架的一个信号,屏幕的一部分是脏的,需要重新绘制。实际绘图不会立即发生......它会在下一次通过主线程的事件队列时发生。

答案 1 :(得分:0)

我遇到过这样的问题,亚历克斯说它不会发生。我可以建议一种解决方法,即只有当它不应该很重时,你才可以拥有自己的onDraw()方法实现,并使用不同的名称myOnDraw()。所以不要立即调用或依赖于onDraw()调用你可以调用那个在你需要的时候适用于你的方法。