Android Studio - So erhöhen Sie die Größe des zugewiesenen Heapspeichers

118

Ich benutze Android Studio seit 3 ​​Monaten und eine der Apps, mit denen ich begonnen habe, ist ziemlich groß geworden. Die unten rechts im Programm angegebene Speichernutzung besagt, dass mein zugewiesener Heap maximal 494 MB beträgt.

Geben Sie hier die Bildbeschreibung ein

Wenn ich anfange, die XML-Dateien zu ändern, erreicht meine Speichernutzung schnell diese Obergrenze und die IDE stürzt mit einem solchen Speicherfehler ab.

Geben Sie hier die Bildbeschreibung ein

Ich habe versucht, die Größe des Heapspeichers zu erhöhen, aber bisher gab es keine Auswirkungen.

Ich habe mir Dutzende von Artikeln und andere Fragen zum Erhöhen der Heap-Größe angesehen, aber keine ihrer Antworten funktioniert. Egal, was ich mit den VMOPTIONS- oder IDE-Einstellungen mache, die Heap-Größe nimmt nie zu. Ich glaube, ich bearbeite die richtige Datei für die VMOPTIONS, denn wenn ich ihr absichtlich einen ungültigen Befehl gebe, beschwert sich Android Studio darüber und startet nicht.

Ich benutze Windows 7 - 64 Bit und habe 16 GB RAM. Hat jemand anderes dieses Problem mit Android Studio gehabt? Und konnten Sie das Problem beheben?

zafrani
quelle
In der Antwort von @ moxi unten finden Sie die aktuellsten Informationen zum Konfigurieren benutzerspezifischer Einstellungen für den Speicher- und Studio-JVM-Start stackoverflow.com/a/29057416/396005
Bron Davies
1
Aktualisierte Android Studio-Dokumentation: developer.android.com/studio/intro/…
Morrison Chang

Antworten:

136

-------BEARBEITEN--------

Mit Android Studio 2.0 und höher können Sie diese Datei erstellen / bearbeiten, indem Sie im Menü Hilfe auf "Benutzerdefinierte VM-Optionen bearbeiten" zugreifen.

------- ORIGINAL ANTWORT --------

Öffnen Sie die Datei unter

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

Ändern Sie den Inhalt in

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

XmxGibt den maximalen Speicherzuweisungspool für eine Java Virtual Machine (JVM) an, während Xmsder anfängliche Speicherzuweisungspool angegeben wird. Ihre JVM wird mit XmsSpeicherplatz gestartet und kann maximal XmxSpeicherplatz beanspruchen.

Speichern Sie die studio.vmoptionsDatei und starten Sie Android Studio neu.

Mehr in diesem Beitrag .

Hinweis:

Wenn Sie die Heap-Größe für die IDE geändert haben, müssen Sie Android Studio neu starten, bevor die neuen Speichereinstellungen angewendet werden. ( Quelle )

Wesley
quelle
Dies behebt ein Problem für mich bei einem sehr großen Projekt, bei dem Android Studio nach 15 Minuten beim Erstellen der Symbolkarte keinen Speicher mehr hat. Ich habe Xms auf 1024m und Xmx auf 4096 geändert und die Symbolkarte wurde in weniger als 30 Sekunden erstellt - der Müllsammler muss also schon lange verprügelt haben.
RikMaxSpeed
10
Wie von Lord Flash festgestellt: Ab Android Studio 2.0 können Sie diese Datei erstellen / bearbeiten, indem Sie im Menü Hilfe auf "Benutzerdefinierte VM-Optionen bearbeiten" zugreifen.
Lasse Magnussen
Thx, es ist sehr nützlich. Zu Ihrer Information: Wenn Sie die 64-Bit-Version verwenden, heißt die zu bearbeitende Datei studio64.exe.vmoptions.
Eselfar
50

Ich habe mir meine Umgebungsvariablen angesehen und eine Systemvariable _JAVA_OPTIONSmit dem Wert aufgerufen -Xms256m -Xmx512m, nachdem ich diese auf -Xms256m -Xmx1024mdie maximale Heap-Größe geändert hatte.

zafrani
quelle
9
Es gab keine Systemvariable mit dem Namen _JAVA_OPTIONS. aber ich habe manuell ein neues erstellt und es funktioniert gut. Danke.
Yasir Ali
Gut, das funktioniert! Ich frage mich, ob es eine gute Sache ist, den Heap zu vergrößern ... Ich meine, es funktioniert und ist in bestimmten Fällen sicherlich der richtige Weg, aber ist es immer der richtige Weg? Oder kann es bessere Lösungen geben? Vielen Dank!
Marino
ist dieses Problem auch aufgrund der Heap-Größe stackoverflow.com/questions/29148374/…
Sagar Devanga
Hat auch bei mir nicht funktioniert, aber es stellte sich heraus, dass Android Studio einige Java-Prozesse von früheren Ausführungen hängen ließ und sie alle offensichtlich immer noch viel Speicher verwendeten.
Alex.magellan
48

Sie können auch in Ihren android-studio\binOrdner gehen und diese -Xmx- und -Xms-Werte in studio.exe.vmoptionsoder studio64.exe.vmoptionsDateien ändern (je nachdem, welche Version Sie ausführen ).

Krokodil
quelle
2
Dies hat bei mir nicht funktioniert, da die Variable _JAVA_OPTIONS als Standardwert verwendet wurde.
Zafrani
Beide Optionen (vmoptions und _JAVA_OPTIONS) wurden geändert, aber ich habe immer noch den Fehler
Raphael Royer-Rivard
Wenn Sie absichtlich einen Syntaxfehler in die vmoptions eingeben, stürzt das Programm beim Neustart ab?
Zafrani
Ich bin mir nicht sicher, aber ich denke nicht, dass es sollte. Darf ich auch fragen, warum Sie absichtlich einen Syntaxfehler in vmoptions eingeben?
Krokodil
32

Ich habe mein Gedächtnis nach der nächsten Google-Dokumentation erweitert:

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

Standardmäßig ist Android Studio maximal 750 MB zugewiesen, ich habe auf 2048 MB geändert.

Ich habe versucht, was Google beschrieben hat, aber für mich hat es nur funktioniert, eine Umgebungsvariable zu verwenden. Ich werde beschreiben, was ich getan habe:

Zuerst habe ich ein Verzeichnis erstellt, das ich .AndroidStudioSettings genannt habe.

  • mkdir .AndroidStudioSettings

Dann habe ich eine Datei mit dem Namen studio.vmoptions erstellt und den folgenden Inhalt in diese Datei eingefügt:

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

Dann habe ich die Umgebungsvariablen STUDIO_VM_OPTIONS in meine .profile-Datei eingefügt:

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

Dann lade ich mein .profile neu:

  • source ~/.profile

Und schließlich öffne ich Android Studio:

  • open /Applications/Android\ Studio.app

Und jetzt, wie Sie anhand der Statusleiste sehen können , stehen mir mehr als 2000 MB für Android Studio zur Verfügung:

Geben Sie hier die Bildbeschreibung ein

Sie können Ihre Werte an Ihre Bedürfnisse anpassen, in meinem Fall reichen 2048 MB aus.

UPDATE: Mit Android Studio 2.0 können Sie diese Datei ändern, indem Sie im Hilfemenü auf "Benutzerdefinierte VM-Optionen bearbeiten" zugreifen. Kopieren Sie einfach die Variablen, die Sie möglicherweise behalten möchten, und fügen Sie sie ein, um sie für die Everversion zu erhöhen, die Sie möglicherweise auf Ihrer Box haben.

Moxi
quelle
Würde diese Lösung nicht nur funktionieren, wenn AS über die Shell geöffnet wird?
guy.gc
Wo geben Sie die Befehle ein, z. B. export STUDIO_VM_OPTIONS=/Users/youruser/.AndroidStudioSettings/studio.vmoptionsim Terminal?
COYG
31

Sie sollten keine Dateien im IDE-Installationsverzeichnis bearbeiten. Stattdessen können Sie die Attribute anpassen, indem Sie Ihre eigenen .properties- oder .vmoptions-Dateien in den folgenden Verzeichnissen erstellen. (Dies war auf einigen Plattformen bereits möglich, aber Sie mussten den gesamten Inhalt der Dateien kopieren und ändern. Mit den letzten Änderungen werden diese Eigenschaften jetzt additiv, sodass Sie nur die Attribute festlegen können, die Sie interessieren, und den Rest verwendet die Standardeinstellungen aus der IDE-Installation).

Hinweis: Ab Android Studio 2.0 können Sie diese Datei erstellen / bearbeiten, indem Sie im Menü Hilfe auf die Datei "Benutzerdefinierte VM-Optionen bearbeiten" zugreifen.

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

Geben Sie hier die Bildbeschreibung ein

Tobias
quelle
12

Wenn Sie MAC BOOK verwenden , ist diese Option in Anwendungen -> Klicken Sie mit der rechten Maustaste auf Android Studio und wählen Sie Paketinhalt anzeigen -> bin .

Geben Sie hier die Bildbeschreibung ein

oder

öffnen -e /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions

Dann XmxWert erhöhen

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

Jetzt ist Ihr Android Studio superschnell.

Ashokchakravarthi Nagarajan
quelle
10

Android Studio 3.1 bietet die Möglichkeit, Ihre benutzerdefinierten Optionen für den virtuellen Speicher zu bearbeiten.

Sie können zu Android Studio> Hilfe> Benutzerdefinierte VM-Optionen bearbeiten gehen

Geben Sie hier die Bildbeschreibung ein

Fügen Sie dann den folgenden Einstellungscode in die Datei studio64.exe.vmoptions ein und speichern Sie ihn.

Dateispeicherort: "\ Benutzer \ Benutzername \ .AndroidStudio3. ** \ config \"

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops
Shihab Uddin
quelle
1
Diese letzte Zeile ist falsch - Android Studio 3.2 stürzt beim Start dort ab.
CommonsWare
9

Hinweis: Ich bin jetzt nicht die Antwort für den Beitrag, aber vielleicht ist dies hilfreich für jemanden, der sucht.

Wenn nichts davon für Sie funktioniert, versuchen Sie es auf einem Mac, um festzustellen, ob es Ihnen hilft. In der letzten Version von Android Studio befindet sich die Datei studio.vmoptions in der Datei AndroidStudio.app in Ihrem Anwendungsordner.

Klicken Sie also mit der rechten Maustaste oder bei gedrückter Strg-Taste auf Ihre AndroidStudio.App und wählen Sie dann Paketinhalt anzeigen, in dem sich studio.vmoptions befindet:

Inhalt / bin / studio.vmoptions

Ersetzen oder ändern Sie es und Sie erhalten den gesamten RAM, den Sie benötigen.

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Grüße.

Marco Antonio Uzcategui Pescoz
quelle
Sie sollten diese Datei nicht ändern, sondern die hier angegebene: tools.android.com/tech-docs/configuration . Für Mac: ~ / Library / Preferences / {FOLDER_NAME} /studio.vmoptions
GaRRaPeTa
6

Ich habe das Ding _JAVA_OPTIONS ausprobiert, aber es hat bei mir immer noch nicht funktioniert.

Am Ende hat für mich Folgendes funktioniert:

  • Starten von studio64.exe anstelle von studio.exe (ich habe eine 64-Bit-Maschine).
  • Fügen Sie in "studio64.exe.vmoptions" die folgenden Werte hinzu / ändern Sie sie:

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

TeuerBelly
quelle
1
Habe genau das Gleiche getan wie du, ich habe immer noch die Out of Memory-Fehler
Raphael Royer-Rivard
Haben Sie auf die neueste Version von Android Studio aktualisiert? Ich benutze Canary Channel und ich habe 1.0 RC 4
ExpensiveBelly
Nein, ich war am 0.8.14, aber ich habe die Ursache für den Speicherverlust gefunden. Das Erstellen einer Farbe mit dem Namen "light_gray" und die Verwendung in einer Layoutdatei verwendet unendlich viel Speicher ... "light_grey" ist jedoch in Ordnung.
Raphael Royer-Rivard
6

Es gibt viele Antworten, die mittlerweile veraltet sind. Die gewünschte Methode zum Ändern der Heap-Größe für Android Studio wurde kürzlich geändert.

Benutzer sollten jetzt ihre eigene vmoptions-Datei in einem der folgenden Verzeichnisse erstellen.

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

Mac: ~/Library/Preferences/{FOLDER_NAME}/studio.vmoptions

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

Der Inhalt der neu erstellten *.vmoptionsDatei sollte sein:

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

Um die RAM-Zuweisung zu erhöhen, wechseln Sie -XmX750mzu einem anderen Wert.

Vollständige Anweisungen finden Sie hier: http://tools.android.com/tech-docs/configuration

Charles Durham
quelle
1
Es gibt jedoch keine Datei studio.vmoptionsunter dem von Ihnen angegebenen Pfad. Sie sind unter%AndroidStudioInstallationPath%\bin\studio.exe.vmoptions
Mulgard
Das ist die richtige Antwort. Andere sind veraltet oder entmutigt.
GaRRaPeTa
4

Überprüfen Sie zunächst, wie viel Speicher für Ihr Android-Studio reserviert ist, um Folgendes zu überprüfen:

Datei -> Einstellungen-> Aussehen & Verhalten-> Aussehen

Aktivieren Sie dann die Option Speicheranzeige anzeigen wie unter dem rot hervorgehobenen Teil des Bildes Geben Sie hier die Bildbeschreibung ein

In meinem Fall ist mein RAM 12 GB, also habe ich Speicher für Android Studio 6 GB zugewiesen. Zum Bearbeiten folgen Sie diesen Schritten

Hilfe-> Benutzerdefinierte VM-Optionen bearbeiten

-Xmx6g

In meinem Fall habe ich es auf 6 GB eingestellt, weil mein PC-RAM 12 GB hat. Es liegt an Ihnen, wie viel Speicher Sie Ihrem Android-Studio zuweisen möchten

Hoque MD Zahidul
quelle
3

Unter Windows 7 [INSTALL-LOCATION]\binscheinen die Konfigurationsdateien bei ignoriert zu werden. Gemäß der folgenden Google-Dokumentation sollte sich die zu ändernde Datei hier befinden:%USERPROFILE%\.AndroidStudio\studio[64].exe.vmoptions

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

Seltsam, dass es bei einer Neuinstallation von Android Studio 1.1 von der Entwicklerseite keine solche Datei gibt. Und sie befinden sich am alten (ignorierten) Ort. Sobald ich die Datei ( studio.exe.vmoptionsin meinem Fall) kopiert und geändert habe, wird die Änderung beibehalten.

Der Spaß hört hier jedoch nicht auf. Es gibt einen oberen Wert, -Xmxder sich möglicherweise auf die Speichermenge in Ihrem System bezieht. Ich stieß nur Erinnerung ist meine Maschine von 4 GB bis 16 GB, und nahm ich einstellen könnte -Xmxzu 2048m, aber ich fand , dass , wenn ich setzen Sie ihn auf etwas größer als 1500m,Android Studio leise ohne Angabe überhaupt, warum zum Start scheitern würde. Ich habe mehr RAM auf dem Weg, daher wird es interessant sein zu sehen, ob ich den Wert an diesem Punkt erhöhen kann.

Ich hoffe, diese zusätzlichen Informationen sind hilfreich. Während alle oben genannten Antworten zu einem bestimmten Zeitpunkt zweifellos zutrafen (und in einigen Umgebungen möglicherweise immer noch zutreffen), stellte ich fest, dass dies der einzige Ansatz war, der den von AS für mich verwendeten Speicher vergrößerte.

Groovee60
quelle
2

Öffnen Sie studio.vmoptions und ändern Sie die JVM-Optionen

studio.vmoptions befindet sich unter / Applications / Android \ Studio.app/bin/studio.vmoptions (Mac OS). In meiner Maschine sieht es so aus

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

Ändern

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

Und starten Sie Android Studio neu

Weitere Android Studio-Website

Bao Le
quelle
2

Ich fand auf unter Windows 7/8 (64-Bit), ab Android Studio 1.1.0:

[INSTALL_DIR]\bin\studio64.exe.vmoptions verwendet werden (falls vorhanden), sonst würde es immer auf zurückgreifen %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions

Wenn Sie möchten, dass die Einstellungen verwaltet werden %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions, löschen Sie einfach die Einstellungen im Installationsverzeichnis.

Jay Sidri
quelle
2

Gehen Sie in die Gradle-Skripte -> local.properties und fügen Sie diese ein

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

, wenn Sie es auf 512 ändern möchten. Hoffe, es funktioniert!

Rares-Mihai Chelariu
quelle
2

Sie dürfen die Datei bin / studio.exe.vmoptions nicht ändern, die beim Anwenden des Update-Patches überprüft wird.

Lösungen finden Sie hier http://tools.android.com/tech-docs/configuration

Kopieren Sie diese Datei an den folgenden Speicherort und ändern Sie dann -Xmx1280m nach Ihren Wünschen.

Windows:

%USERPROFILE%\.{FOLDER_NAME}\studio.exe.vmoptions und / oder %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions

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

Mac:

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

Linux:

~/.{FOLDER_NAME}/studio.vmoptions und / oder ~/.{FOLDER_NAME}/studio64.vmoptions

~/.{FOLDER_NAME}/idea.properties

landerlyoung
quelle
1
Es ist sicherer, die eigene Funktion von IntelliJs / Android Studios zu verwenden: Öffnen Sie die IDE und klicken Sie auf "Hilfe" -> "Benutzerdefinierte VM-Optionen bearbeiten"
Thommy
2

Hatte das XmsundXmx mir Problem mit dem geringen Speicherplatz jedes Mal passiert, wenn ich mit XML gearbeitet habe. Ich habe auch versucht, dieses Gedächtnis zu vergrößern, nur um festzustellen, dass es nur ein wenig länger dauerte, bis es wieder passierte.

Nachdem ich sehr frustriert war und mich fast entschlossen hatte, alle meine aktuellen Projekte wieder auf Eclipse umzustellen, was ich nicht wollte, fand ich heraus, was es verursachte, und konnte diesen Fehler jedes Mal wiederholen und verhindern.

Während Sie das XML in (Textansicht) bearbeiten und die Renderansicht "Vorschau" verwenden, geht jedes Mal Speicher verloren. Durch Deaktivieren von "Vorschau" und Verwenden der Registerkarte "Design", um nur den Bildschirm zu rendern, kann ich Android Studio den ganzen Tag ohne Absturz verwenden.

Ich wünschte, dies könnte endgültig behoben werden, da es sehr schön wäre, das "Vorschau" -Rendering beim Bearbeiten des XML zu verwenden, aber ich bin froh, dass ich Android Studio weiterhin verwenden kann.


quelle
2

Auf diese Weise ändern Sie die Heap-Größe, die derzeit in Android Studio 3.6.1 vorhanden ist

Unter Windows in Ihrem Android Studio:

  1. Wählen Sie Datei -> Einstellungen (das Popup unten wird angezeigt)

Einstellungsdialog

  1. Wählen Sie Aussehen und Verhalten
  2. Wählen Sie Systemeinstellungen
  3. Wählen Sie Speichereinstellungen

Ändern Sie dann die Einstellungen für die IDE-Heap-Größe auf den gewünschten Wert

Auf dem Mac:

  1. Wählen Sie Android Studio
  2. Wählen Sie Einstellungen

Das gleiche Popup wird angezeigt. Diesmal heißt es auf dem Mac jedoch "Einstellungen".

Befolgen Sie die gleichen Schritte wie in der Windows-Version von Android Studio, um die Größe des Heapspeichers anzupassen. Das Dialogfeld "Einstellungen" wurde angezeigt

George
quelle
1

Kann jemandem helfen, der dieses Problem bekommt:

Ich bearbeite die studio64.exe.vmoptionsDatei, konnte sie jedoch nicht speichern.

Also habe ich diese Datei mit Notepad ++ im Run as AdministratorModus geöffnet und dann erfolgreich gespeichert.

Sagte Abolfazl Fatemi
quelle
1

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

Kamil
quelle
6
Eine kleine Erklärung würde sicherlich Ihre Antwort verbessern.
m02ph3u5
1

Wenn das Ändern oder Erstellen der .studio.exe.vmoptionsnicht funktioniert, versuchen Sie, die gradle.propertiesDatei zu ändern, und ändern Sie die Heap-Größe gemäß Ihren Anforderungen.

Auf meinem Windows 7 mit 4 GB RAM und Android Studio 2.2-Installation hat es wirklich funktioniert.

Funktioniert einwandfrei und zeigt "Gradle Sync complete" an.

Dishant J.
quelle
Ich musste eine grade.properties hinzufügen, um die maximale Heap-Größe festzulegen, die beim Debuggen meiner App verwendet wurde. Aber ich muss fragen, warum funktioniert das Einstellen der auf der Android Studio-Konfigurationsseite erwähnten studio.vmoptions nicht wie angekündigt? Ich mache mir Sorgen, dass ich etwas grundlegend Falsches mache (aber es sieht sicher nicht so aus). (Danke) Ich habe eine detaillierte Frage gepostet unter: stackoverflow.com/questions/40833031/…
JimCzek
1

Unter Mac OS X können Sie die Größe des Heapspeichers einfach ändern, indem Sie zum ersten Menüpunkt Android Studio> Einstellungen> Systemeinstellungen (linkes Menü)> Speichereinstellungen gehen und dort die Heap-Größe im Dialogfeld ändern.

Geben Sie hier die Bildbeschreibung ein

Hammad Khan
quelle