2012-06-07 129 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中,它會消耗你的一些可用的堆空間。您不應該試圖寫出並處理代碼中的大量查詢,而應該以小塊處理查詢,提交這些更改並繼續處理更多數據。這樣,你只能一次使用少量的堆空間。實際上你不應該一次處理所有這些查詢。

根據以上意見。除非有某些原因,這些大規模的插入是從應用程序生成的,否則你不應該在應用程序代碼中這樣做。您的數據庫應該從應用程序外部填充。

相關問題