我是AndroidPlot的新手。我试图使用AndroidPlot绘制如下所述的图形。
数据到我的图表:(此操作在后台线程完成)
通过采样频率连续从麦克风获取数据freq = 22050样本数= 1024
对获得的数据应用FFT,因此我有多组1024点
每次我从麦克风读取数据时,上述数据都会发送到主线程(UI线程)
我的图表情节:(此图表绘制在主线程上完成)
每次在后台线程中读取数据时,它(FFT数据)都会更新为UI线程并且应该绘制(每次更新中有1024个点)
因此随着时间的推移,应该有一个移动的图表,在每个点显示1024点的FFT数据
(即X轴是每次更新FFT数据到UI线程, Y轴是1024点FFT数据)
目前尝试绘制图表的方法:
创建SimpleXYSeries的新实例,用于存储1024点的每次更新,然后绘制图形。
最终我需要在图表上显示大约100个更新,即 100 * 1024 点。在第100次更新后,我希望图表从左向右移动,在任何时间点显示100个更新。
问题非常明显,因为要在图表上绘制大量的点,它会导致OutofMemoryException。我已经看到了以前类似问题的一些答案(在此链接中https://groups.google.com/forum/#!msg/androidplot/6Vte1F6Sid4/50NPQ1yFRFMJ) Nick建议不要使用SimpleXYSeries,并根据我们的需要实现XYSeries。所以我的问题如下:
是否可以通过实施XYSeries来实现上述图表(100 * 1024点)?
有人可以建议我以更好的速度和性能更好地实现此图表吗?也是实现我们自己的XYSeries
我非常坚持这一点。感谢您的帮助。