2012-06-07 2 views
0

Я заполняю базу данных множеством записей, но после 7000 строк (около 600 записей) это превысило предел размера кучи java. Я попытался изменить размер кучи в файле конфигурации avd с 32 до 64. Я попытался поместить -Xmx1024, чтобы изменить размер кучи всего java-приложения (на панели управления). До сих пор ничего не было сделано, никаких предложений? Заранее спасиборазмер ява андроида javascript превышен

вверх:

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, он будет потреблять некоторые из доступного пространства кучи. Вместо того, чтобы пытаться выписывать и обрабатывать огромное количество запросов в вашем коде, вы должны обрабатывать запросы в небольших кусках, фиксировать эти изменения и переходить к большему количеству данных. Таким образом, вы используете только небольшое количество кучи одновременно. Там действительно не должно быть причин, по которым вы должны обрабатывать все эти запросы сразу.

Согласно вышеприведенным комментариям. Если по какой-либо причине эти массовые вставки генерируются из приложения, вы не должны делать этого в коде приложения. Ваша база данных должна быть заполнена вне приложения.

Смежные вопросы