Android Studio - Як збільшити розмір розподілених куч


118

Я вже 3 місяці користуюся Android Studio, і одне із запущених на ньому додатків стало досить великим. Використання пам'яті, вказане в нижній правій частині програми, говорить про те, що моя виділена купа розміщена в 494М.

введіть тут опис зображення

Коли я починаю змінювати XML-файли, моє використання пам'яті швидко досягає цієї межі, і IDE випадає з такою помилкою Out Of Memory.

введіть тут опис зображення

Я намагався збільшити розмір купи за допомогою цього, але поки що ефекту не було.

Я переглянув десятки статей та інші питання, як збільшити розмір купи, але жодна їх відповідь не працює. Незалежно від того, що я роблю з VMOPTIONS або IDE, розмір купи ніколи не збільшується. Я вважаю, що я редагую правильний файл для VMOPTIONS, тому що якщо я навмисно даю йому недійсну команду, Android Studio скаржиться на це і не запускається.

Я використовую Windows 7 - 64 біт і маю 16 Гб оперативної пам’яті. Хтось ще мав цю проблему з Android Studio? І чи змогли ви це виправити?


Дивіться відповідь @ moxi нижче для найновішої інформації про налаштування параметрів користувача для пам’яті та студійного запуску JVM stackoverflow.com/a/29057416/396005
Bron Davies

1
Оновлена ​​документація на Android Studio: developer.android.com/studio/intro/…
Моррісон Чанг

Відповіді:


136

------- РЕДАКЦІЯ --------

Android Studio 2.0 і новіших версій ви можете створити / відредагувати цей файл, відкривши "Редагувати власні параметри VM" у меню довідки.

------- ОРИГІНАЛЬНИЙ ВІДПОВІДЬ --------

Відкрити файл, розташований у

/Applications/Android\ Studio.app/Contents/bin/studio.vmoptions

Змініть вміст на

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops

Xmxвизначає максимальний пул розподілу пам'яті для віртуальної машини Java (JVM), в той час як Xmsвизначає пул початкового розподілу пам'яті. Ваш JVM буде запущений з Xmsобсягом пам'яті і зможе використовувати максимум Xmxобсягу пам'яті.

Збережіть studio.vmoptionsфайл та перезапустіть Android Studio.

Більше на цій посаді .

Примітка:

Якщо ви змінили розмір купи для IDE, вам слід перезапустити Android Studio до того, як будуть застосовані нові налаштування пам'яті. ( джерело )


Це вирішило для мене проблему дуже великого проекту, де Android Studio втратило б пам’ять після 15 мільйонів під час створення карти символів. Я змінив Xms на 1024m і Xmx на 4096, і карта символів була вбудована за 30 секунд - тому мусоровоз, мабуть, довгий час лущив.
RikMaxSpeed

10
Як зазначає Лорд Флеш: Станом на Android Studio 2.0, ви можете створити / відредагувати цей файл, відкривши "Редагувати власні параметри VM" у меню довідки.
Лассе Магнуссен

Думаю, це дуже корисно. FYI, якщо ви використовуєте 64-бітну версію, файл для редагування називається studio64.exe.vmoptions.
Eselfar

50

Я переглянув свої змінні середовища і отримав виклик системної змінної _JAVA_OPTIONSзі значенням -Xms256m -Xmx512m, після зміни цього значення -Xms256m -Xmx1024mна максимальний розмір купи відповідно збільшився.


9
Не було системи змінної під назвою _JAVA_OPTIONS. але я вручну створив новий, і він прекрасно працює. ніж.
Ясір Алі

Добре, це працює! Мені цікаво, чи збільшувати розмір купи - це добре ... Я маю на увазі, це працює і, безумовно, у певних випадках це вірний шлях, але чи завжди це правильний шлях? Чи можуть бути кращі рішення? Дякую!
Маріно

ця проблема також з - за розміру купи stackoverflow.com/questions/29148374 / ...
Сагар Devanga

Не працював і для мене, але, виявляється, Android Studio дозволив деяким Java процесам висіти з попередніх страт, і всі вони, очевидно, все ще використовують багато пам'яті.
alex.magellan

48

Або ви можете перейти до своєї android-studio\binпапки та змінити ці значення -Xmx та -Xms у файлах studio.exe.vmoptionsабо studio64.exe.vmoptionsфайлах (залежно від версії, яку ви використовуєте).


2
Це не спрацювало для мене, тому що змінна _JAVA_OPTIONS використовувалася як значення за замовчуванням.
zafrani

Змінено обидва варіанти (vmoptions та _JAVA_OPTIONS), але у мене все ще є помилка
Рафаель Ройєр-Рівард

Якщо ви навмисно вводите синтаксичну помилку у vmoptions, це збиває програму при перезапуску?
зафрани

Я не впевнений, але я не думаю, що це повинно. Також, я можу запитати, чому б ви вмикано вводити синтаксичну помилку в vmoptions?
croc


32

Я збільшив пам’ять після наступної документації Google:

http://tools.android.com/tech-docs/configuration

За замовчуванням Android Studio призначено максимум 750 Мб, я змінив 2048 Мб.

Я спробував те, що описав google, але для мене єдиним, що він працював, було використання змінної середовища. Я опишу, що я зробив:

Спочатку я створив каталог, який я назвав .AndroidStudioSettings,

  • mkdir .AndroidStudioSettings

Потім я створив файл під назвою studio.vmoptions, і я вклав у цей файл такий вміст:

-Xms256m 
-Xmx2048m 
-XX:MaxPermSize=512m 
-XX:ReservedCodeCacheSize=128m 
-XX:+UseCompressedOops 

Потім я додав змінні середовища STUDIO_VM_OPTIONS у свій .profile файл:

  • export STUDIO_VM_OPTIONS=/Users/youruser/.AndroidStudioSettings/studio.vmoptions

Потім я перезавантажую свій .profile:

  • source ~/.profile

І нарешті я відкриваю Android Studio:

  • open /Applications/Android\ Studio.app

І тепер, як ви бачите, використовуючи рядок стану , у мене є більше 2000 МБ для Android Studio:

введіть тут опис зображення

Ви можете налаштувати свої значення відповідно до ваших потреб, в моєму випадку достатньо 2048Mb.

ОНОВЛЕННЯ: Android Studio 2.0 давайте вам змінити цей файл, відкривши "Редагувати власні параметри VM" у меню довідки, просто скопіюйте та вставте змінні, які ви хочете зберегти, щоб збільшити його на будь-яку версію, яку ви могли б мати у своєму полі.


Не вдалося б це рішення працювати лише при відкритті AS з оболонки?
guy.gc

Де ви набираєте команди, такі як export STUDIO_VM_OPTIONS=/Users/youruser/.AndroidStudioSettings/studio.vmoptionsу терміналі?
КОЙГ

31

Не слід редагувати жодні файли в каталозі встановлення IDE. Натомість ви можете налаштувати атрибути, створивши власні файли .properties або .vmoptions у наступних каталогах. (Раніше це було можливо на деяких платформах, але це вимагало від вас скопіювати та змінити весь вміст файлів. Завдяки останнім змінам ці властивості тепер додаються на додаток, таким чином ви можете встановити лише атрибути, які вас цікавлять, та інше використовуватиме параметри за замовчуванням з установки IDE).

Примітка. Станом на Android Studio 2.0 ви можете створювати / редагувати цей файл, відкривши файл "Редагувати власні параметри VM" у меню довідки.

http://tools.android.com/tech-docs/configuration

введіть тут опис зображення


12

Якщо ви використовуєте MAC BOOK , ця опція доступна у програмах -> Клацніть правою кнопкою миші Android Studio, а потім виберіть Показати вміст пакета -> смітник .

введіть тут опис зображення

або

відчинено -e /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions

Потім збільшуйте Xmxзначення

-Xms128m
-Xmx2048m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

Тепер ваша Android Studio буде надшвидкою.


10

У Android Studio 3.1 є можливість редагувати налаштовані параметри віртуальної пам'яті.

Ви можете зайти в Android Studio> Довідка> Редагувати власні параметри VM

введіть тут опис зображення

Потім вставте нижче код налаштувань до studio64.exe.vmoptions файл і збережіть його.

розташування файлу: "\ Користувачі \ ім'я користувача \ .AndroidStudio3. ** \ config \"

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops

1
Останній рядок невірний - Android Studio 3.2 виходить з ладу при запуску саме там.
CommonsWare

9

Примітка: я зараз це не відповідь на посаду, але, можливо, це буде корисним для того, хто шукає.

Якщо нічого з цього не працює для вас, спробуйте на Mac це, щоб дізнатися, чи допомагає вам, в останній версії Android Studio studio.vmoptions знаходиться всередині AndroidStudio.app у папці Ваші програми.

Тож клацніть правою кнопкою миші або ctrl клацніть на AndroidStudio.App, а потім виберіть показ вмісту пакета, у якому знаходиться studio.vmoptions:

Зміст / бін / studio.vmoptions

Замініть його або змініть, і ви отримаєте всю необхідну оперативну пам’ять.

введіть тут опис зображення введіть тут опис зображення

З повагою


Ви не повинні змінювати цей файл, але той, що вказаний тут: tools.android.com/tech-docs/configuration . Для Mac: ~ / Бібліотека / Налаштування / {FOLDER_NAME} /studio.vmoptions
GaRRaPeTa

6

Я спробував річ _JAVA_OPTIONS, але вона все ще не працювала для мене.

Зрештою, для мене працювало таке:

  • Запуск studio64.exe замість studio.exe (у мене 64-бітна машина).
  • Додати / змінити наступні значення в "studio64.exe.vmoptions":

-Xms2048m
-Xmx2048m
-XX:MaxPermSize=1024m
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled 
-XX:+HeapDumpOnOutOfMemoryError
-Dfile.encoding=utf-8


1
Зробив точно так само, як і ви, у мене все ще є помилки поза пам'яттю
Рафаель Ройер-Рівард

Ви оновили до останньої версії Android Studio? Я використовую канал Canary, і я отримав 1,0 RC 4
ExpensiveBelly

Ні, я був на 0.8.14, але я виявив причину витоку пам'яті. Створення кольору під назвою "light_gray" та використання його у файлі компонування використовує нескінченну пам'ять ... "light_grey" все в порядку.
Рафаель Ройер-Рівард

6

Є багато відповідей, які зараз застаріли. Нещодавно змінився бажаний спосіб зміни розміру купи для Android Studio.

Тепер користувачі повинні створити власний файл vmoptions в одному з наступних каталогів;

Windows: %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions

Мак: ~/Library/Preferences/{FOLDER_NAME}/studio.vmoptions

Linux: ~/.{FOLDER_NAME}/studio.vmoptions and/or ~/.{FOLDER_NAME}/studio64.vmoptions

Вміст новоствореного *.vmoptionsфайлу повинен бути:

-Xms128m
-Xmx750m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=96m
-XX:+UseCompressedOops

Щоб збільшити розподіл оперативної пам’яті, змініть -XmX750mінше значення.

Повні інструкції можна знайти тут: http://tools.android.com/tech-docs/configuration


1
але немає файлу studio.vmoptionsна шляху, який ви згадали. вони перебувають під%AndroidStudioInstallationPath%\bin\studio.exe.vmoptions
Mulgard

Це правильна відповідь. Інші застарілі або не привабливі.
GaRRaPeTa

4

Спочатку перевірте, скільки пам’яті виділено для вашої андроїд-студії, щоб перевірити, чи дотримуйтесь цих кроків:

Файл -> Установки-> Зовнішній вигляд та поведінка-> Зовнішній вигляд

потім перевірте параметр індикатора показу пам’яті, як, наприклад, зображення, виділене нижче червоним кольором введіть тут опис зображення

У моєму випадку моя оперативна пам’ять 12Gb, тому я виділив пам'ять для андроїд-студії 6gb.

Довідка-> Редагувати власні параметри VM

-Xmx6g

У моєму випадку я встановив його 6 Гб, тому що мій ПК ємний 12 ГБ. Це залежить від того, скільки пам’яті ви хочете виділити для своєї студії Android


3

У Windows 7 файли конфігурації [INSTALL-LOCATION]\binначебто ігноруються. Згідно з наведеною нижче документацією Google, файл, який потрібно змінити, повинен бути тут:%USERPROFILE%\.AndroidStudio\studio[64].exe.vmoptions

http://tools.android.com/tech-docs/configuration

Як не дивно, що при чистому встановленні Android Studio 1.1 з сайту розробника такого файлу немає. І вони знаходяться в старому (ігнорованому) місці. Щойно я копіюю файл (studio.exe.vmoptions у моєму випадку) і змініть його, зміна буде дотримано.

Однак веселощі не зупиняються на цьому. Існує верхнє значення, -Xmxяке може бути пов'язане з кількістю пам'яті у вашій системі. Я просто наткнувся пам'ять моєї машини від 4Gb до 16Gb, і припустив , що я міг би встановити -Xmxв 2048m, але я виявив , що якщо я встановити його на що - або більше , ніж 1500m,Android - студія мовчки НЕ запуск без вказівки на всіх , як , чому. У мене більше оперативної пам’яті на шляху, тому мені буде цікаво подивитися, чи зможу я збільшити значення в цей момент.

Я сподіваюся, що ця додаткова інформація буде корисною. Хоча всі вищезазначені відповіді, безперечно, були правдивими в один момент (і, можливо, все ще є в деяких умовах), я виявив, що це єдиний підхід, який збільшував пам'ять, яку використовував для мене AS.


2

Відкрийте studio.vmoptions і змініть параметри JVM

studio.vmoptions розміщено за адресою / Applications / Android \ Studio.app/bin/studio.vmoptions (Mac OS). У моїй машині це виглядає так

-Xms128m
-Xmx800m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

Перейти

-Xms256m
-Xmx1024m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

І перезавантажте Android Studio

Дивіться більше веб-сайт Android Studio


2

Я знайшов у Windows 7/8 (64-розрядний), на Android Studio 1.1.0:

[INSTALL_DIR]\bin\studio64.exe.vmoptions бути використаним (якщо він існує), інакше він завжди повернеться до %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions

Якщо ви хочете, щоб налаштуваннями керували %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions, просто видаліть налаштування в каталозі інсталяції.


2

Перейдіть у сценарії Gradle -> local.properties і вставте це

`org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m`

, якщо ви хочете змінити його на 512. Сподіваюся, це спрацює!


2

Ви не повинні змінювати файл bin / studio.exe.vmoptions, який буде перевірено під час застосування патчу оновлення.

Тут розміщені рішення http://tools.android.com/tech-docs/configuration

скопіюйте цей файл у наступне місце, а потім змініть -Xmx1280m на все, що завгодно.

Windows:

%USERPROFILE%\.{FOLDER_NAME}\studio.exe.vmoptions та / або %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions

%USERPROFILE%\.{FOLDER_NAME}\idea.properties

Мак:

~/Library/Preferences/{FOLDER_NAME}/studio.vmoptions ~/Library/Preferences/{FOLDER_NAME}/idea.properties

Linux:

~/.{FOLDER_NAME}/studio.vmoptions та / або ~/.{FOLDER_NAME}/studio64.vmoptions

~/.{FOLDER_NAME}/idea.properties


1
Для цього безпечніше використовувати власну функцію IntelliJs / Android Studios: Відкрийте IDE, натисніть "Довідка" -> "Редагувати власні параметри VM"
Томмі

2

Якби це Xmsі Xmxпроблема з низькою пам’яттю трапилася зі мною, коли я працював з XML Я також спробував збільшити цю пам’ять, лише щоб виявити, що це зайняло трохи більше часу, щоб це повторилося.

Після того, як я був дуже розчарований і майже вирішив перетворити всі мої поточні проекти назад на Eclipse, чого я не хотів робити, я зрозумів, що викликає це, і міг повторювати цю невдачу і запобігати її кожен раз.

Під час редагування XML у (Перегляд тексту) та використання перегляду "Попередній перегляд" це спричиняє втрату пам'яті щоразу. Якщо вимкнути "Попередній перегляд" і використовувати вкладку "Дизайн" для візуалізації лише екрана, я можу користуватися Android Studio весь день, без збоїв.

Я хочу, щоб це було виправлено на добре, тому що було б дуже приємно використовувати візуалізацію "Попередній перегляд" під час редагування XML, проте я радий, що я можу продовжувати користуватися Android Studio.


2

Ось так ви змінюєте розмір купи, який наразі перебуває в Android Studio 3.6.1

У Windows у вашій Android Studio:

  1. Виберіть "Файл" - "Налаштування" (відобразиться спливаюче меню нижче)

Діалогове вікно налаштувань

  1. Виберіть Зовнішній вигляд та поведінка
  2. Виберіть Налаштування системи
  3. Виберіть Налаштування пам'яті

Потім змініть параметри розміру IDE Heap Size на потрібне значення

На Mac:

  1. Виберіть Android Studio
  2. Виберіть Налаштування

З'явиться той самий спливаюче вікно. Однак цього разу на Mac його називали Налаштуваннями.

Виконайте ті ж дії, що і в Windows версії Android Studio, щоб відрегулювати розмір купи, щоб відобразився діалог Настройки


1

Може допомогти тому, хто має цю проблему:

Я редагував studio64.exe.vmoptionsфайл, але не зміг зберегти.

Тому я відкрив цей файл із блокнотом ++ у Run as Administratorрежимі, а потім успішно зберег.



1

Якщо зміна або створення .studio.exe.vmoptionsне працює, то спробуйте змінити gradle.propertiesфайл і змінити розмір купи відповідно до ваших вимог.

Це дійсно працювало для мене на моїй Windows 7 з 4 Гб оперативної пам’яті та Android Studio 2.2.

Працює належним чином без помилок і відображає "Gradle Sync завершено"


Мені довелося додати grade.properties, щоб встановити максимальний розмір купи, який використовувався під час налагодження програми. Але я повинен запитати, чому налаштування studio.vmoptions, як згадується на сторінці конфігурації Android Studio, не працює як рекламоване? Мене хвилює те, що я роблю щось принципово неправильне (але це точно не схоже на це). (Спасибі) я розмістив докладний питання на: stackoverflow.com/questions/40833031 / ...
JimCzek

1

На Mac OSX можна легко змінити розмір купи, перейшовши до першого пункту меню, Android Studio> Налаштування> Налаштування системи (меню зліва)> Налаштування пам'яті та змінити розмір купи у діалоговому вікні.

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.