安卓实时绘图

标签 android plot real-time accelerometer achartengine

我正在使用 achartengine 构建一个 android 实时加速度计绘图应用程序。我做了大量研究来解决我在下面提到的问题,但找不到任何可行的解决方案。

情况是这样的:我正在收集加速度计值并填充三个 XYSeries 对象(每个轴一个)。我使用 XYSeries 对象绘制具有三个时间序列的图形。我希望图表随着时间的流逝而实时滚动。所以我在 Activity 中使用不同的线程来更新图形,我正在更新 X-axis 然后调用

view_eeg1.repaint();

其中 view_eeg1GraphicalView 类型

但是,当我每秒调用 repaint 方法超过 3 或 4 次时,GC_CONCURRENT 开始。In this thread Dan 正在讨论类似的问题,但我无法使其顺利进行。

此外,即使我忽略 GC_CONCURRENT 警告消息并尝试使用该应用程序,当我移动设备很多时,图表也会变得非常拥挤,应用程序崩溃。

那么,这里的主要问题是,当采样率和刷新率变高时,如何使用图表引擎进行实时绘图?

我希望我描述的问题足够详细,如果您需要更多信息,请告诉我。

最佳答案

一些可能有帮助的建议:

  • 您可以使用 repaint(left, top, right, bottom) 仅重绘您知道已修改的图形部分,其中参数定义屏幕上必须重绘的矩形。
  • 这可能有助于每隔一秒左右重新绘制一次。
  • 这可能有助于删除一些旧值。您绝对不希望您的系列中有几千个值。

关于安卓实时绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17814668/

相关文章:

android - Android 中的 list 文件是什么?

r - 在 ggplot geom_path 中添加轻微的曲线(或弯曲)以使路径更易于阅读

python - 在同一图中绘制 2 个或更多函数

java - 为什么ImageView的getX、getY、setX、setY在RelativeLayout中不代表实际值?

android - 如何在 Flutter 中的特定时间安排闹钟?

c# - Xamarin AlarmManager Android

python - PyQtGraph 堆积图方法

javascript - 为什么 node.js 在尝试在 localhost 上运行应用程序时需要升级?

android - 如何将数据从一个 Activity 创建的后台线程发送到另一个已知处于 Activity 状态的 Activity ?

Javascript 或 JQuery 需要重新加载页面,为什么?