SurfaceView线程 - 启动/停止onDraw调用?

时间:2013-06-18 18:09:06

标签: android

我的surfaceView正在一个线程中运行,但有时候它是动画的 大部分时间它只需要重新绘制一次并留下以响应某些用户交互,但因为它在线程onDraw中的运行不断被调用...不断的重新绘制正在减慢它并使我的手机变暖:)

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

不断重绘的一切都不是我应该去的方式,任何帮助都会受到极大的关注......

1 个答案:

答案 0 :(得分:0)

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

如果这并不能完全解决您的问题,请考虑将wait()置于if语句中,以便只有在满足某些条件后才会发生。