我正在开发一个定期向外部服务器发送信息的应用程序。我为正在发送的数据制作了一份本地副本,用于备份目的。
就节省电池生命周期而言,存储数据的最佳选择是什么?每次数据提交都是一个序列化对象(类有5个字段,包括日期、数字和字符串),大小约为5K-10K。
还有其他想法吗?
最佳答案
我认为使用 SQLite 还是文件并不重要,因为 SQLite 数据库只是系统上的一个文件(存储在 /data/data/<your_package>/databases/
中)。您需要在正确的时间提交给数据库,就像您需要在正确的时间将文件保存到硬盘驱动器一样。换句话说,无论采用哪种方式,您都可以使用同样多的硬盘驱动器写入。
我认为您选择什么更多地取决于您保存的数据类型。如果您需要拥有数据库可以赋予的权力(例如查询),那么一定要使用 SQLite。但是,如果您不需要数据库,或者您的数据变化很大(并且无法在关系数据库中轻松设置),那么我会选择文件。
我可以肯定地告诉您的是,您不应该使用序列化来保存文件,如果您选择这样做的话。 Android 序列化很慢,很慢,很慢,而且创建的文件很大。出于性能原因,最好编写自己的 XML 或 JSON 格式。
关于Android 数据存储——文件与 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1803365/