如何在Android中绘制动态曲线?

时间:2011-05-25 03:07:41

标签: android opengl-es surfaceview curve

我的Android应用程序中有一个字节缓冲区,将其视为向量。缓冲区中的数据是动态更改的(有一个单独的线程来更新缓冲区)。我想动态地绘制这些数据。

每个数据代表视图中点的Y坐标,连接连续点以形成曲线。由于缓冲区定期更新,曲线看起来像是顺利前进。

首先,我通过在View的onDraw(Canvas canvas)方法中绘制线条来实现它,但是它非常无效。当调用invalidate方法太频繁时,CPU消耗非常大。

所以我改为使用SurfaceView,在单独的线程中绘制动态曲线,但仍然不能令人满意。

我想知道是否有任何好方法可以实现这一点。是否可以选择OpenGL ES?

1 个答案:

答案 0 :(得分:3)

在OpenGL ES 1.0中,您可以在glDrawArrays模式下使用GL_LINES。它将完全按照Canvas对您的数据执行的操作,但速度要快得多