Android Sqlite 存储限制

标签 android sqlite

我正在开发一个 android 应用程序,它每 30 秒获取一次用户位置并存储在应用程序自己的 sqlite 数据库中。在我的计算中,我需要存储大约 1 个 Lac 记录。我只有一张表,其中包含以下详细信息, ID(整数)、纬度(实数)、经度(实数)、日期(文本)、时间(文本)。

将详细信息存储在 sqlite 中是否安全?

它会在性能方面造成任何问题吗?

请帮帮我。

最佳答案

SQLite 的限制在移动设备上通常不重要。该设备受到的限制要大得多。

例如,如果您每 30 秒添加 1kB 的数据,那么每年将生成大约 60GB 的数据。这不适合任何设备,但对 SQLite 来说没有问题。

如果您的查询速度很慢,性能可能会成为问题。索引查询以 log(N) 时间的某种变化运行,这意味着处理数十亿行数据的性能与处理几千行的性能大致相同。如果您的查询很复杂,您很容易达到 N^2 的复杂度或更糟,这意味着一旦您达到大约一千行,性能就会很糟糕。这里还有一点:http://www.sqlite.org/queryplanner.html

我建议牢记该大小限制,并在空间不足时添加一种回收数据的方法。内部存储空间(没有足够的空间来安装新应用程序?)通常非常有限。

关于Android Sqlite 存储限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21985022/

相关文章:

android - 使用android studio混淆多个模块

android - 为 android 应用程序的 linkedin 登录生成调试 key 哈希值

java - Q.1 CORDOVA_VERSION 无法解析或者不是字段。 Q.2 偏好无法解决

android - java.lang.NoClassDefFoundError : javax. 微版本.io.Connector

java - 我应该在哪里声明一个类中的变量以便在另一个类中使用?

Android Sqlite 添加列后根据条件选择条目

sqlite - 如何压缩小字符串

android - 如果有空间,将作者文本对齐到引文的最后一行,否则将其换行

sqlite - 使用FireDAC读取 'bad' Sqlite数据

具有 int 值的 Android Sqlite 选择 args[]