Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中处理非常大量的数据?_Android_Performance_Sqlite - Fatal编程技术网

如何在Android中处理非常大量的数据?

如何在Android中处理非常大量的数据?,android,performance,sqlite,Android,Performance,Sqlite,我有一个包含250000行13位数字的数据库(最后还有一点-400000) 用户必须找到数据库中是否存在13位数字,所有这些都在他的android手机上,没有任何互联网连接。那么你有什么建议来解决这个问题呢 我考虑在Android上使用SQLITE 您有什么建议?SQLite将是设备上大型数据集的最佳存储选项。确保在可能的情况下使用正确的SQLite查询来获取所需的数据,而不是使用常规查询并在自己的代码中进行处理。这对于添加到注释中来说有点太多了,因此我将在这里添加它 4000000行整数并不是

我有一个包含250000行13位数字的数据库(最后还有一点-400000) 用户必须找到数据库中是否存在13位数字,所有这些都在他的android手机上,没有任何互联网连接。那么你有什么建议来解决这个问题呢

我考虑在Android上使用SQLITE


您有什么建议?

SQLite将是设备上大型数据集的最佳存储选项。确保在可能的情况下使用正确的SQLite查询来获取所需的数据,而不是使用常规查询并在自己的代码中进行处理。

这对于添加到注释中来说有点太多了,因此我将在这里添加它

4000000行整数并不是那么多。假设整数将使用有符号整数的最大大小(8字节),则您的数据库将:

4000000*8/1024/1024=~30.5mb

这是一个很大的问题,但不是游戏突破

现在还假设每个数字需要8个字节。我们知道我们希望每个条目存储13位数字,因此6字节整数列就足够了:


4000000*6/1024/1024=~23mb

嗨,d3cima的回答可能太迟了,但这是对其他人的帮助。我自己的领域是最好的选择

Realm的开发人员友好平台可以轻松构建反应式应用程序、实时协作功能和离线首次体验

优势:

  • 比SQLite快(正常情况下比原始SQLite快10倍 (操作)

  • 易于使用

  • 为您处理对象转换

  • 便于动态创建和存储数据


我使用了我的项目,它比Sqlite高出10倍以上。

乍一看,数据库是您最好的选择。它将很小(ish),并且执行查询的速度足够快。没有internet连接显然意味着您无法更新此数据库(除非您计划在有连接时同步)。也可以在没有数据库的情况下确定数字是否符合模式。当我说“没有连接”时,我想说我不能在服务器端进行搜索,但是是的,每周数据库中都会添加2000个引用。这是一个“EAN13”数据库,所以没有任何数字模式。我想你只需要一个非常大的phone@lelloman我想我在我刚刚发布的答案中涵盖了你的担忧……这不是一个担忧,只是讽刺^ ^请注意,我删除了关于
文本
列的部分。我忽略了将每个字符的4字节乘以13。