Ответ 1
Установка 64-битной Java решила его для меня
Итак, у меня проблема с распределением памяти. Иногда это работает, а иногда и нет. Я прочитал эту тему и несколько раз пробовал совет. Иногда -Xms512m -Xmx768m
работает, иногда -Xms256m -Xmx512m
. Я устал от необходимости настраивать эту настройку в IntelliJ при настройке параметров Build, Execution, Deployment > Build Tools > Gradle > Gradle VM
. Нет ли какой-либо настройки, которая решает эту проблему раз и навсегда?
У меня 16 ГБ ОЗУ на моем компьютере с Windows 7, я запускаю IntelliJ IDEA EAP 14 build 138.2210.3, 64-разрядную версию. Android Gradle build plugin v0.12.
Я подозреваю, что Gradle не работает в режиме 64 бит, иначе у него будет ~ 7 ГБ свободной памяти. Почему это не используется?
EDIT:
Я получил ту же ошибку в Visual Studio 2015 с кордорой 5.1.1 под Windows 10. См. Мое решение ниже.
Установка 64-битной Java решила его для меня
Я получил ту же ошибку в Visual Studio 2015 с cordova 5.1.1 под Windows 10.
Чтобы решить проблему, установите эту переменную среды:
_JAVA_OPTIONS=-Xmx512M
Эта статья указывает мне правильное направление. Я немного изменил инструкции, чтобы они соответствовали Windows 10.
Надеюсь, это поможет кому-то!
Хотя этот вопрос немного старше, я хотел бы придумать (возможную) причину проблемы: JVM запрашивает весь блок памяти при запуске. Если он не смог найти его, произошла ошибка "Не удалось сохранить...". Джон Папе написал в IBM devblog разъяснительную статью об этой проблеме: https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/why_wont_my_jvm_start_with_this_heap_size?lang=en
Это решение проблемы для меня:
org.gradle.jvmargs=-Xmx150m
и Gradle не имеет проблем.Это происходит и со мной, и это сводит меня с ума. Возможно, доступная память (ram) фрагментирована. Хотя у вас достаточно свободной памяти, нет смежных 512 МБ блоков, все они фрагментированы на более мелкие блоки! Вот почему вы видите это "иногда".
Некоторые вещи стоит попробовать:
проверьте, нет ли у вас памяти, попытайтесь закрыть другие приложения. Это случается со мной иногда, даже если у меня все еще есть 3 ГБ бесплатно из моего 8 ГБ! 3GB может быть фрагментирован в блоках, размер которых меньше 512 МБ [ex: если у вас есть -Xmx512m]... Перезагрузка - это способ дефрагментации вашей памяти. Или закройте firefox, который освободит концерт; -)
Кроме того, удивительно, проверьте свое пространство подкачки [свободное место на диске]! Зависит от реализации машины /JVM/etc. Но если вы отстаете от места подкачки и ваша память фрагментирована, это может быть другой причиной.
понизите ваш -Xmx до -Xms128m -Xmx512m, чтобы было легче найти непрерывный блок свободной памяти [128 м]. Это может быть не очень хорошо, если gradle действительно требуется минимум 512 м. Учитывая, что мы говорим о gradle, проигнорируйте эту маркерную точку (может быть полезным советом для других случаев/стоит отметить).
дважды проверьте свой Xms/Xmx в ~/.gradle/ gradle.properties: org.gradle.jvmargs
используйте idea64.exe [64bit], и если вы считаете, что IDEA использует неправильный JDK [32bit], в последней Intellij IDEA [14.1.3 от этого написания], перейдите в "Настройки" → "Построить," Выполнение, развертывание "- > " Gradle ":" используйте оболочку по умолчанию "и выберите gradle JVM, который вы хотите (если вы считаете, что он использует неправильный, вы увидите его здесь".
Наконец, это всего лишь предположение, но: в предыдущей пуле я задаюсь вопросом, выбираете ли вы "использовать проект JDK", если это облегчает поиск смежной памяти. Я не уверен, что это означает, что gradle будет использовать intestedij IDEA уже зарезервированный блок памяти. Таким образом, вместо того, чтобы иметь два процесса, у вас есть только один, и вы можете зарезервировать большой блок памяти при запуске программы IDEA. Но я не уверен, насколько это точно, если вы хотите предложить Intellij...
Я согласен с тобой, у меня никогда не было проблем с памятью с IDEA [нет проблем во ВСЕХ] до тех пор, пока интеграция gradle не появилась.
В моем случае я открыл слишком много вещей. Освобождение памяти заставило ее работать.
В вашей папке Android есть файл gradel.properties и добавьте следующие строки:
org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m
Я столкнулся с этим, используя Intellij и Flutter. Еще одно свойство, которое вы можете найти полезным, это объявление о том, где находится JDK.
org.gradle.java.home=C:\\Your\\JDK\\path