Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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 java堆大小_Java_Android_Size_Heap - Fatal编程技术网

已超出android java堆大小

已超出android java堆大小,java,android,size,heap,Java,Android,Size,Heap,我用大量的条目填充数据库,但在7000行大约600个条目之后,它抛出的java堆大小超出了限制。我试图将avd配置文件中的堆大小从32更改为64。我试图在控制面板中放置-Xmx1024来更改所有java应用程序的堆大小。到目前为止没有任何效果,有什么建议吗? 提前谢谢 向上: 无论何时在java中创建和添加对象,它都会占用一些可用的堆空间。您不应该试图编写和处理代码中的大量查询,而应该将查询分成小块进行处理,提交这些更改,然后转移到更多数据。这样,一次只能使用少量堆空间。您真的没有理由一次处理所

我用大量的条目填充数据库,但在7000行大约600个条目之后,它抛出的java堆大小超出了限制。我试图将avd配置文件中的堆大小从32更改为64。我试图在控制面板中放置-Xmx1024来更改所有java应用程序的堆大小。到目前为止没有任何效果,有什么建议吗? 提前谢谢

向上:


无论何时在java中创建和添加对象,它都会占用一些可用的堆空间。您不应该试图编写和处理代码中的大量查询,而应该将查询分成小块进行处理,提交这些更改,然后转移到更多数据。这样,一次只能使用少量堆空间。您真的没有理由一次处理所有这些查询


根据上面的评论。除非出于某种原因,这些大量插入是从应用程序生成的,否则您不应该在应用程序代码中这样做。应该从应用程序外部填充数据库。

如何填充数据库?你能发布你的代码吗?更新了填充的一小部分,到目前为止,我添加了600个这种类型的插入。如果我删除其中的一些,这是可行的,但我恐怕至少还需要600个。天哪,你是手工写出来的?如果您不知道如何从文本文件中提取这些值,我认为您可能需要放慢速度,并在继续此工作之前进行更多研究。为什么要在应用程序中填充数据库?你为什么不把它预先装填好?你不需要。只需创建一个sqlite文件,将其放入原始文件夹,将其复制到SD卡上的某个位置,然后打开它即可。这就是你所需要的。
cv.put(KEY_NAME, "name");
cv.put(KEY_HOTNESS, "hotness");
cv.put(KEY_CALORIE, "50");
cv.put(KEY_FAT, "5");
cv.put(KEY_CARBS, "5");
cv.put(KEY_PROT, "5");
cv.put(KEY_MULTI, "1");
ourDatabase.insert(DATABASE_TABLE, null, cv);