在Android中存储连续简单数据以提高工作效率的最佳方式

时间:2015-08-06 07:17:34

标签: android sqlite

我有一个适用于设备的应用程序,我需要存储我自己制作的日志,其中包含不同的ID,角度,原始数据等等,20多个变量组合在一起。看起来很简单,但延迟是13毫秒,所以我每秒会有大约20个插入请求。

尝试实施SQLite数据库后,对处理器的使用过多。我已经完成了通过contentValues插入数据的简单DatabaseAdapter。

简化流程的最佳方法是什么:

  1. 使本机SQL命令避免使用contentValues和其他适配器吗?
  2. 收集ArrayList \ Array中的数据并每秒插入一次(如果SQL中可以插入数组,还不知道吗?)
  3. 使用不同的方式存储数据,即打开内部存储文件流,只是将记录的数据放在那里,并在活动被销毁或暂停时关闭流?

2 个答案:

答案 0 :(得分:0)

每次尝试插入时,您的插入速度都会受到SQLite创建隐式事务的影响(这是一个代价高昂的过程,因为它需要在数据库上获得各种锁)。批量插入肯定会大大提高插入速度。那就是:开始交易 - >做大量的插入 - >完成交易。

但是,在您的特定情况下,不使用SQLite就可能更好。或者至少,将原始数据写入文件,然后,当你的实地考察完成后,将其写回SQLite(因此插入不再是实时的)。

答案 1 :(得分:0)

尝试登录文件,最后在后台的一个事务中插入数据。