【发布时间】:2016-12-04 23:42:21
【问题描述】:
我有一个应用程序一直在后台服务中运行(仅在屏幕打开时),并定期(1-10 分钟)记录间隔时间有多长以及它是好是坏间隔。每天结束时,我都会统计这些好间隔和坏间隔,并将其记录到 csv 文件中。
For visual people like me:
<--------------------------THE DAY --------------------->
minutes: 2m 1m 5m 3m 3m 3m 3m 1m 2m 1m 1m
|----|---|-------|-----|-----|-----|-----|--|----|---|---|
rec rec rec rec rec rec rec rec rec rec rec
Record
目前我使用 SharedPreferences 来存储全天的好/坏计数,并在一天结束时将其写入文件,但我越来越担心 SharedPrefs 数据的持久性(我有一些它被我认为是操作系统清除我的应用程序缓存而随机擦除的情况)
我正在尝试在将这些临时计数记录在文件中与完全迁移到 SQLite 数据库结构并全天进行一致的写入和读取调用之间做出决定。
从电池性能的角度来看,每天进行多次写入和读取调用(约 500-5000 次操作)成本最低,为什么?
【问题讨论】:
-
Everything 存储在某种文件中。擦除应用的数据将擦除设置、数据库和所有其他文件,除非您将它们存储在外部存储中,这样更容易擦除。
标签: android performance sqlite service