我正在开发一个应用程序,需要访问给定传感器的“最后5秒数据”。我的计划是以某种方式存储这些数据,然后当我请求数据时,它将返回在过去5秒内获得的任何数据。鉴于:
,我不确定如何有效地做到这一点Dalvik不喜欢创建大量对象,因此我不能为包含值+时间戳的每个传感器读取创建一个对象。
我需要不断地在某种结构中存储新数据,同时检索它的特定部分。
我唯一的另一个要求是应该处理超过5秒的数据。这不是很关键,但我想保留数据会在内存中消耗。
我目前有一个onSensorChanged
听众设置,所以我不需要帮助。
有什么想法吗?
答案 0 :(得分:1)
可能预先分配足够的对象来存储5秒的数据并将它们存储在池中。从池中获取对象,添加时间戳和值并插入到有序集中。插入一个旧对象并将它们放回池中后删除它们。或者你可以只使用循环缓冲区http://en.wikipedia.org/wiki/Circular_buffer