1

我的 surfaceView 在线程中运行,因为有时它是动画的,但是大多数时候它只需要重新绘制一次并离开以响应某些用户交互,但是因为它在线程中运行 onDraw 不断被调用......不断的重新绘制正在减慢速度并使我的手机变热:)

我想使用 invalidate(Rect) 但当线程控制 onDraw 时看不到如何执行此操作...

不断重绘的一切都不是我应该走的路,任何帮助都会非常感激......

4

1 回答 1

0

在您的线程中,您可以wait()在调用onDraw(). 这将强制线程休眠,直到提示继续工作。一旦用户进行了交互并且您想要恢复动画,请调用notify()线程将其唤醒并重绘。

如果这不能完全解决您的问题,请考虑将wait()if 语句放在内部,这样它只会在满足某些条件后发生。

于 2013-06-18T18:13:54.307 回答