【发布时间】:2023-04-06 15:54:01
【问题描述】:
我目前正在编写一个需要执行以下操作的 Android 应用:
- 检索传感器数据,例如 ActivityRecognition 数据,每 20-30 秒说一次
- 不时检索 GPS 数据(例如,当活动识别发送该用户正在使用其自行车或汽车时),因此对于普通用户,我会说每天最多几次。例如,GPS 数据检索频率可以是每 5-10 秒一次。
当然,这些数据应该存储在某个地方,以便稍后由我的应用程序分析。分析部分不是这里的问题,因为我不需要任何类型的实时计算,所以我真正关心的是如何有效地存储数据。
因此,如果我们考虑一个普通用户将生成大约 5000 个传感器数据 + 5000 个 GPS 数据:
- 如何最好地存储这些数据?数据库?每天 1 个文件 ?我会说数据库的性能问题和使用简单,但我不确定每 10/20 秒打开/关闭一个数据库连接以添加一行数据是否是一个很好的做法。此外,一个日志文件(每天一个)可能是一个好主意,但我认为这对于性能的观点来说是非常糟糕的,即使使用序列化?
- 存储这 10000 个数据是否会降低电池寿命,而不仅仅是在不存储的情况下检索传感器(ActivityRecognition、GPS)数据?我的意思是,在我看来它会有点过度消耗,但同时 GPS 已经消耗了很多电池......
- 是否有其他方法可以做到这一点?
还考虑过内存存储,然后每隔几分钟就可以将其放入硬盘存储(SQLite、文件),但我不确定这是否是安全保存数据的好主意...
提前致谢
【问题讨论】:
-
传感器数据,没有。 GPS会耗尽一些手机的电量,但仅限于打开时。 AFAIK 只是阅读它并不会耗尽电池;它是打开的。如果你需要数据,你就需要数据。
标签: android performance gps android-sensors battery