首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android:存储传感器/GPS数据会经常降低电池的质量吗?

Android:存储传感器/GPS数据会经常降低电池的质量吗?
EN

Stack Overflow用户
提问于 2014-06-17 18:53:24
回答 3查看 514关注 0票数 2

我目前正在编写一个Android应用程序,需要这样做:

  • 检索等传感器数据,如ActivityRecognition数据,每20-30秒一次。
  • 不时地检索GPS数据(例如,当活动识别发送用户使用其自行车或汽车时),所以对于普通用户,我会说每天最多几次。例如,GPS数据检索的频率可以是每5-10秒一次.

当然,这些数据应该存储在某个地方,稍后由我的应用程序进行分析。分析部分不是这里的问题,因为我不需要任何类型的实时计算,所以我实际关心的是如何有效地存储数据

因此,如果我们考虑平均用户将生成大约5000个传感器数据+ 5000个GPS数据:

  • 如何最好地存储这些数据?数据库?每天一个文件?我会说数据库的性能问题和使用的简单性,但我不确定每隔10/20秒打开/关闭数据库连接,只添加一行数据是很好的做法。此外,一个日志文件(每天一个)可能是一个好主意,但我认为这对性能的观点是相当糟糕的,甚至使用序列化?
  • 存储这10000数据是否会大大降低电池寿命,而不只是检索传感器(ActivityRecognition,GPS)数据而不需要存储?我的意思是,在我看来,它会有点过度消耗,但与此同时,GPS已经使用了这么多的电池.
  • 的另一种方式来做这个吗?

同时考虑到内存中的存储,然后每隔几分钟就可以将它放入硬存储(SQLite,文件),但我不确定这在安全保存数据方面是个好主意.

提前感谢

EN

回答 3

Stack Overflow用户

发布于 2014-06-17 19:07:59

与GPS电池消耗相比,数据库中的读写几乎不消耗任何东西(毕竟是闪存),所以不用担心。在我看来,数据库将是存储这些数据的最佳选择,我认为每10秒或20秒创建一个条目没有问题。

票数 2
EN

Stack Overflow用户

发布于 2014-06-17 19:46:11

同时考虑到内存中的存储,然后每隔几分钟就可以将它放入硬存储(SQLite,文件),但我不确定这在安全保存数据方面是个好主意.

这是个很好的主意。我是这样做的,大多数处理文件的系统都是这样做的(称为缓冲区)。

如果应用程序因错误而崩溃,一些数据将丢失,这取决于缓冲区大小。在所有其他情况下(设备将关闭,用户终止应用程序),您有时间编写(刷新)缓冲区。

票数 0
EN

Stack Overflow用户

发布于 2014-06-18 16:26:14

只是一个简短的附加音符。

除了关闭外围设备(在您的情况下并不是一个真正的选项)之外,最大限度地延长处理器不活动的时间。(这与最小化进程活动的时间长度不一样。)这允许处理器进入低睡眠状态(称为C状态)。睡眠越深,省电越多。

在一般意义上,这意味着

  1. 没有轮询,而是使用中断,
  2. 如果您需要周期性地醒来,看看是否需要做任何事情,请确保您的中断周期是允许的最大时间。(与目前的做法相反,当平均每隔500毫秒发生一次事件时,每10毫秒醒来并不能提高你的反应能力。)

这也适用于外围设备,因为它们在非活动状态(称为D状态)时也会进入睡眠状态。

  1. 尽量减少云访问次数。
  2. 最大化云访问之间的时间长度。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24271304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档