2012-06-07 91 views
0

我使用大量条目填充数据库,但在7000行(大约600个条目)之后,它会抛出超出java堆大小限制。我尝试将avd的配置文件中的堆大小从32更改为64.我尝试将-Xmx1024更改为所有Java应用程序(在控制面板中)的堆大小。目前为止没有任何工作,任何建议? 由于事先android java堆大小超过

起来:

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); 
+3

你如何填充数据库?你能发布你的代码吗? –

+0

更新了从填充的一小部分,我添加了这种类型的600插入到目前为止。这是工作,如果我删除了一些,但恐怕我需要至少600多。 –

+0

对不起,你真的写了600行吗?如果你想改变,你会再次通过600线?你为什么不从文件中读取? – m0skit0

回答

0

只要你创建并添加到对象在Java中,它会消耗你的一些可用的堆空间。您不应该试图写出并处理代码中的大量查询,而应该以小块处理查询,提交这些更改并继续处理更多数据。这样,你只能一次使用少量的堆空间。实际上你不应该一次处理所有这些查询。

根据以上意见。除非有某些原因,这些大规模的插入是从应用程序生成的,否则你不应该在应用程序代码中这样做。您的数据库应该从应用程序外部填充。

相关问题