0

データベースに多数のエントリを入力しましたが、7000 行 (約 600 エントリ) を超えると、Java ヒープ サイズの制限を超えました。avd の構成ファイルでヒープ サイズを 32 から 64 に変更しようとしました。-Xmx1024 を入れて、すべての 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);
4

1 に答える 1

0

Java でオブジェクトを作成して追加するたびに、使用可能なヒープ スペースの一部が消費されます。コードで大量のクエリを書き出して処理しようとする代わりに、クエリを小さなチャンクで処理し、それらの変更をコミットして、より多くのデータに進む必要があります。このようにして、一度に少量のヒープ スペースしか使用しません。これらのクエリをすべて一度に処理しなければならない理由はありません。

上記のコメントのとおりです。これらの大規模な挿入がアプリから生成されている何らかの理由がない限り、アプリケーション コード内でそれを行うべきではありません。データベースは、アプリケーションの外部から入力する必要があります。

于 2012-06-07T21:27:23.857 に答える