Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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
将大型阵列缓存到SQLite-Java/Android_Java_Android_Arrays_Sqlite_Caching - Fatal编程技术网

将大型阵列缓存到SQLite-Java/Android

将大型阵列缓存到SQLite-Java/Android,java,android,arrays,sqlite,caching,Java,Android,Arrays,Sqlite,Caching,我目前正在开发一个系统,用户最终将拥有大型阵列(使用android)。但是JVM内存有耗尽的风险,因此为了防止这种情况,我考虑创建一个临时数据库并将数据存储在其中。然而,我关心的一个问题是SD卡受读写限制。另一个让人想到的问题是这种操作的开销。是否有人可以澄清我的顾虑,并提出一个处理大型阵列的可能好的替代方案(最终这些阵列将通过编写csv文件并上传到网站上) 谢谢, 费萨尔一些想法: 您可以使用诸如Derby之类的dbms存储它们,Derby内置于许多java版本中 您可以将它们存储在压缩输出流

我目前正在开发一个系统,用户最终将拥有大型阵列(使用android)。但是JVM内存有耗尽的风险,因此为了防止这种情况,我考虑创建一个临时数据库并将数据存储在其中。然而,我关心的一个问题是SD卡受读写限制。另一个让人想到的问题是这种操作的开销。是否有人可以澄清我的顾虑,并提出一个处理大型阵列的可能好的替代方案(最终这些阵列将通过编写csv文件并上传到网站上)

谢谢, 费萨尔

一些想法:

  • 您可以使用诸如Derby之类的dbms存储它们,Derby内置于许多java版本中
  • 您可以将它们存储在压缩输出流中,并写入字节-如果数据很容易压缩,即定期重复数字、文本等,这将特别有效
  • 您可以一次上载一部分阵列,即在生成阵列时,开始将数据块以块的形式上载到服务器

  • 对于前两个选项,使用derby代替Sqlite有什么用?第二种选择,难道sd卡读写功能还没用完吗?或者我对SD卡的读写工作方式有误解吗?使用第三个选项,用户可能不会一直连接到internet。使用第二个选项,您可以使用bytearrayoutputstream(或类似的东西)向内存中保留的字节数组写入数据(今天早上我忘记了确切的类名)如果您正在压缩它,就不会这样做——将流包装成压缩流,类似于GZip流或类似的东西。