如何在Android上高效地存储传入的数据流?

问题描述:

我正在通过蓝牙将Android设备连接到嵌入式数据采集系统。 DAQ系统将采集数据样本从50Hz提高到潜在的880Hz(未来可能会更多),并将数据采集到数据或以更快的采样速率捆绑到Android设备。如何在Android上高效地存储传入的数据流?

有很多关于如何管理蓝牙连接的例子,但不是关于如何处理数据。

我需要将数据保存到某种长期存储中,并且能够在较高的采样率下连续执行此操作一段时间。

我知道这样做的UI线程,所以没有必要竖琴。 Android上的什么存储介质可以快速响应以跟上这些传入数据? SQLite数据库会足够快吗?似乎它会相当快地陷入停滞。

我知道这是一个非常古老的问题,但我认为我会抛出一个答案无论如何。 SQLite应该可以工作。根据您正在存储的数据,将数据缓冲到一定长度的字节数组中是一个好主意。一旦该数组已满,请将其插入SQL数据库并将所有新数据接受到新数组中。一旦完整,将其存储到数据库中;并且像那样。通过这种方式,你可以实现一种双缓冲。数据库修改涉及磁盘I/O;你会使用缓冲区,因为写一大块数据到磁盘比写很多小块更有效。