我正在使用achartengine构建一个android实时加速度计绘图应用程序 . 我已经做了 a lot 研究来解决我在下面提到的问题,但找不到任何有效的解决方案 .
案例是这样的:我正在收集加速度计值并填充三个XYSeries对象(每个轴一个) . 我使用XYSeries对象绘制具有三个时间序列的图形 . 随着时间的推移,我想让图表实时滚动 . 所以我在活动中使用不同的线程来更新图形,我正在更新 X-axis
然后我正在调用
view_eeg1.repaint();
其中 view_eeg1
的类型为 GraphicalView
但是,当我每秒调用 repaint
方法超过3或4次时 GC_CONCURRENT
开始 . In this thread Dan正在讨论类似问题,但我无法使其顺利运行 .
此外,即使我忽略 GC_CONCURRENT
警告消息并尝试使用应用程序,当我移动设备 a lot 时,图表变得非常拥挤,应用程序崩溃 .
那么,这里的主要问题是,当采样和刷新率变高时,如何使用achartengine进行实时绘图?
我希望我能详细描述这个问题,如果您需要更多信息,请告诉我 .
1 回答
一些可能有用的建议:
您可以重新绘制已知使用重绘(左,上,右,下)修改的图形部分,其中参数在屏幕上定义必须重绘的矩形 .
它可能每秒仅重画一次左右 .
这可能有助于删除一些旧值 . 你肯定不希望系列中有几千个值 .