java - 为什么SimpleXYSeries不适合动态数据,以及如何实现 "dynamic data"XYSeries类?

标签 java androidplot

dynamic sensor plots 上的 AndroidPlot 教程中,它说:

...if you care about about minimizing resource usage then you should implement XYSeries instead. SimpleXYPlot was meant for use in plots that are static or comprised of a small number of samples that change infrequently.

在源代码中 SimpleXYSeries.java

This is a convenience class and should only be used for static data models; it is not suitable for representing dynamically changing data.

我的问题有两个:

  1. SimpleXYSeries 为何不适合 显示动态数据?
  2. 有关如何编写我自己的 XYSeries 接口(interface)的“动态就绪”实现的任何指导或顶层概述吗?

编辑:

遵循 example here ,我当前正在 SimpleXYSeries 上调用removeFirst() 和addLast(),以在调用redraw() 之前更新我的数据。查看源代码,似乎 SimpleXYSeries 将其数据点存储在 LinkedLists 中,这是完全可以理解的。但是,我仍然不太明白这里的性能障碍。

最佳答案

要创建动态数据,您必须在每次数据更改时创建一个新的 SimpleXYSeries。大量的内存分配和复制正在进行。如果直接实现该接口(interface),您可以组织没有内存分配和数据复制。

适合您自己的界面的最佳方法实际上取决于动态数据的来源以及更新方式。您只需要提供从您自己的存储中返回正确数据的方法。

关于java - 为什么SimpleXYSeries不适合动态数据,以及如何实现 "dynamic data"XYSeries类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28953257/

相关文章:

java - android adMob 找不到类

java - 双向流java客户端

AndroidPlot:支持绘制虚线

android - 尽管有 AsyncTask,但不确定的 ProgressBar 卡住了(不旋转)

java - GridBagLayout 权重和重叠组件

java - Retrofit 表示注销时存在身份验证 token

java - 我如何实现文件扫描器的多线程场景?

java - AndroidPlot:LineAndPointFormatter 在传入 Context 和 Colors.xml 资源 ID 时导致崩溃

AndroidPlot 设置网格间距