【发布时间】:2014-06-25 00:04:53
【问题描述】:
我在我的 onDraw() 方法中添加了一个断点,并注意到我的调试器只有在 invalidate(rect) 所在的方法结束后才能到达那里。之后可以直接调用吗? 因为我需要在我的方法中调用 invalidate(rect) 两次。
提前致谢。
【问题讨论】:
标签: java android ondraw invalidation
我在我的 onDraw() 方法中添加了一个断点,并注意到我的调试器只有在 invalidate(rect) 所在的方法结束后才能到达那里。之后可以直接调用吗? 因为我需要在我的方法中调用 invalidate(rect) 两次。
提前致谢。
【问题讨论】:
标签: java android ondraw invalidation
没有。调用invalidate() 是向框架发出的信号,表明屏幕的一部分是脏的,需要重新绘制。实际绘制不会立即发生……它会在下一次通过主线程的事件队列发生。
【讨论】:
我遇到过这样的问题,正如亚历克斯所说,这不会发生。我可以建议一种解决方法,您可以拥有自己的 onDraw() 方法实现,但名称不同,例如 myOnDraw(),只有当它不应该很重时。因此,您可以立即调用或依赖 onDraw() 来调用该方法,该方法将在您需要时为您工作。
【讨论】: