帮我优化这个图形动画

时间:2011-03-30 22:18:33

标签: android graphics animation

我的Android手机上需要一些关于这个简单动画的帮助。我是动画和图形的新手。

我将加速度计数据绘制为滑动时间序列窗口。当读取新的加速度计数据时,其数据绘制在右侧,将先前的数据推到左侧,如下所示:

enter image description here

我的程序运行得非常顺利,但我想帮助优化动画。以下是我的主要关注点:

  1. 我当前的实现在一个线程中读取所有加速度计数据,并将数据保存在固定大小的FIFO队列中以捕获时间序列窗口的宽度。然后我使用Timer.scheduleAtFixedRate()绘制队列的全部内容,以便每50毫秒重新绘制整个图形。我能改进吗?我是否真的需要经常像这样重新绘制图形?在我看过的另一个类似的程序中,每个像素列被复制到左边的一个像素,沿着图形向下波动;最新数据列在最右侧像素列上绘制。这样更好吗?

  2. 我重绘了每50毫秒运行绘图功能的绘图线程中的图例(左上角)。有没有办法“保留”这个传说而不必不断地重新绘制它?

  3. 任何其他帮助将不胜感激。我听说过双缓冲这样的优化,但如果这对我有帮助,那就无能为力了。

1 个答案:

答案 0 :(得分:1)

如果图例和十字线只需要绘制一次,那么您应该将其放入缓冲区位图。对于图形线,可以尝试使用Path对象绘制线条。当它有时间绘制线条时,只需将drawLine绘制到适当的点,然后适当地将画布向左平移。如果