Android 数据存储——文件与 SQLite

标签 android sqlite battery

我正在开发一个定期向外部服务器发送信息的应用程序。我为正在发送的数据制作了一份本地副本,用于备份目的。

就节省电池生命周期而言,存储数据的最佳选择是什么?每次数据提交都是一个序列化对象(类有5个字段,包括日期、数字和字符串),大小约为5K-10K。

还有其他想法吗?

最佳答案

我认为使用 SQLite 还是文件并不重要,因为 SQLite 数据库只是系统上的一个文件(存储在 /data/data/<your_package>/databases/ 中)。您需要在正确的时间提交给数据库,就像您需要在正确的时间将文件保存到硬盘驱动器一样。换句话说,无论采用哪种方式,您都可以使用同样多的硬盘驱动器写入。

我认为您选择什么更多地取决于您保存的数据类型。如果您需要拥有数据库可以赋予的权力(例如查询),那么一定要使用 SQLite。但是,如果您不需要数据库,或者您的数据变化很大(并且无法在关系数据库中轻松设置),那么我会选择文件。

我可以肯定地告诉您的是,您不应该使用序列化来保存文件,如果您选择这样做的话。 Android 序列化很慢,很慢,很慢,而且创建的文件很大。出于性能原因,最好编写自己的 XML 或 JSON 格式。

关于Android 数据存储——文件与 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1803365/

相关文章:

安卓工作室 - 错误 :Unable to load class 'org.slf4j.LoggerFactory'

android更改游标适配器中的游标位置以增加或减少行

android - GreenDao:扩展 DAO 文件

android - 如何自定义APK中依赖项资源的放置位置?

android - 使用传感器时的 manifest.xml

android - Android SQLite 数据库中的 UNIQUE 约束

Android registerListener 和电池生命周期

linux - 关闭 PC 并在使用 BASH 之前做一些事情

android - 如何解决 Android Studio 找不到项目 list 文件的错误?