Java куча пространства - PullRequest
       4

Java куча пространства

5 голосов
/ 16 августа 2011

Есть ли у вас какие-либо идеи, почему я мог получить 'Исключение в потоке "main" java.lang.OutOfMemoryError: Java heap space " ошибка при создании моего приложения для Android, хотя я добавил -vmargs -Xmx1024M -Xms512M до аргументов затмения?Я хотел бы знать, какую ошибку я мог совершить, которая бы вызвала такую ​​ошибку во время сборки, поскольку мне кажется, что только ошибка в eclipse или maven может вызвать такую ​​ошибку во время сборки.Я использую run as maven install для сборки моего приложения (с плагином maven android eclipse).Запуск as-> 'maven package' также приводит к той же ошибке сборки, после ожидания примерно 1 мин 30.У меня есть настольный компьютер с 3 ГБ памяти, и мое приложение не такое большое.

Спасибо.

Ответы [ 4 ]

8 голосов
/ 16 августа 2011

Добавьте -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/some/path к вашим аргументам jvm, чтобы при исчерпании памяти он выкидывал кучу. Затем вы можете использовать Eclipse Memory Analyzer или jhat, чтобы просмотреть кучу и определить причину проблемы.

Обновление : попробуйте увеличить память вашего плагина для Android maven. В вашем pom.xml добавьте аргумент JVM для Xmx в конфигурацию плагина:

<plugin>
  <artifactId>maven-android-plugin</artifactId>
  <configuration>
    <jvmArguments>
      <argument>-Xmx1500m</argument>
    </jvmArguments>
  </configuration>
</plugin>
2 голосов
/ 16 августа 2011

Ваши аргументы в Eclipse JVM не имеют значения.Вы должны увеличить кучу компилятора.

Я цитирую http://javahowto.blogspot.com/2006/06/fix-javac-java-lang-outofmemoryerror.html

Если [...] вы используете Eclipse, перейдите в "Run As"диалоговое окно для вашего Build.xml и добавьте -Xms256m -Xmx256m в текстовое поле "VM Arguments"

1 голос
/ 28 декабря 2011

Не удалось выполнить преобразование в формат Dalvik: невозможно выполнить dex: пространство кучи Java. увеличение всех значений в файле eclipse.ini не помогло. Это произошло со мной после того, как я обновил свой плагин ADT с 12 до 16. Я изменил SDK Android, которые были указаны для моих существующих проектов до обновления (с Android SDK, которые были подключены на моем предыдущем ADT, я изменил их на Android SDK которые были связаны с моим новым adt), и это решило проблему для меня. надеюсь это поможет. и если это поможет кому-то, пожалуйста, проголосуйте за плюс 1 это.

0 голосов
/ 27 сентября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...