我的Android应用程序中有一个字节缓冲区,将其视为向量。缓冲区中的数据是动态更改的(有一个单独的线程来更新缓冲区)。我想动态地绘制这些数据。
每个数据代表视图中点的Y坐标,连接连续点以形成曲线。由于缓冲区定期更新,曲线看起来像是顺利前进。
首先,我通过在View的onDraw(Canvas canvas)方法中绘制线条来实现它,但是它非常无效。当调用invalidate方法太频繁时,CPU消耗非常大。
所以我改为使用SurfaceView,在单独的线程中绘制动态曲线,但仍然不能令人满意。
我想知道是否有任何好方法可以实现这一点。是否可以选择OpenGL ES?
答案 0 :(得分:3)
在OpenGL ES 1.0中,您可以在glDrawArrays
模式下使用GL_LINES
。它将完全按照Canvas
对您的数据执行的操作,但速度要快得多