Android Studio benötigt zu viel Speicher

175

Ich hatte Android Studio 1.0 RC 2 installiert. Ich habe 4 GB RAM installiert, aber nach dem Starten von Android Studio und dem Starten von Android Emulator wurden mehr als 90% des physischen Speichers nur von diesen beiden verwendet. Gibt es eine Möglichkeit, diese Speichernutzung zu reduzieren? Aufgrund dieses Speicherproblems kann ich andere Anwendungen nicht gleichzeitig öffnen. Geben Sie hier die Bildbeschreibung ein

PPD
quelle
17
Die Verwendung von Eclipse oder Android Studio und eines Emulators auf einem 4-GB-Windows-Entwicklungscomputer ist sehr schmerzhaft. Ich würde dringend empfehlen, dass Sie entweder den RAM Ihres Entwicklungscomputers (8 GB oder mehr) aktualisieren, auf einem Gerät (anstelle eines Emulators) testen oder die IDE überspringen und Ihre Entwicklung mit einem einfachen Editor und Befehlszeilentools durchführen.
CommonsWare
2
Ich denke, Sie verwenden Windows, gemessen an dem von Ihnen geposteten Screenshot. Aber welche Windows-Version? Da Android Studio noch in den Kinderschuhen steckt, treten viele Probleme auf. Wenn Sie keine Gradle-Unterstützung benötigen, können Sie jederzeit Eclipse ausprobieren. Die IDE hat sich im Laufe der Jahre bewährt und ist daher für eine Entwicklungsumgebung recht solide - was den Arbeitsspeicher betrifft.
ChuongPham
1
@CommonsWare Wissen Sie, ob dies auch für Linux-PCs gilt? Danke im Voraus.
Alexander Kulyakhtin
4
@PPD: Deaktivieren Sie unter Windows nicht benötigte Dienste über Verwaltung | Service- Option. Gehen Sie zu msconfigund deaktivieren Sie unnötige Anwendungen auf der Registerkarte Start . Deaktivieren Sie unnötige visuelle Effekte in Windows. Wenn Sie einen Android-Emulator ausführen, aktivieren Sie die Option Host-GPU verwenden, insbesondere wenn Sie über eine leistungsstarke Grafikkarte verfügen. Ich habe einen Windows 7-Entwicklungs-PC und verwende jeweils nur 2 bis 2,5 GB RAM. Dazu gehören: Windows 7, Eclipse, Mozilla Firefox (keine Add-Ons) und die oben erwähnten Windows-Anpassungsschritte. Ich benutze auch Fedora und es verbraucht noch weniger Speicher als Windows.
ChuongPham
3
Nur eine Bemerkung: Ich kann sehen, dass einige Google Chrome-Registerkarten geöffnet sind. Sie können feststellen , dass Firefox ein bisschen weniger RAM verwendet , da es keinen Prozess pro Browser - Tab nicht verwendet.
Sam

Antworten:

223

Ich verwende derzeit Android Studio auf einem Windows 8.1-Computer mit 6 GB RAM.

Ich fand, dass das Deaktivieren von VCS in Android Studio und die Verwendung eines externen Programms zur Handhabung von VCS sehr hilfreich war. Sie können VCS deaktivieren, indem Sie zu Datei -> Einstellungen -> Plugins gehen und Folgendes deaktivieren:

  • CVS-Integration
  • Git-Integration
  • GitHub
  • Google Cloud-Tests
  • Google Cloud Tools Core
  • Google Cloud Tools für Android Studio
  • hg4idea
  • Subversion-Integration
  • Mercurial Integration
  • TestNG-J
jds17
quelle
18
nee, sehr kleine Änderung.
krivar
5
Ein großer Unterschied, wenn Ihr Projekt mit einem Repository wie svn oder github konfiguriert ist. Die Wartezeit für die Ausführung wurde von> 3 Minuten auf <1 Minute reduziert. Vielen Dank für die tolle Hilfe.
Ähm. Kaushik Kajavadara
3
Dies scheint zu funktionieren und macht einen großen Unterschied, obwohl ich 'Git Integration' eingeschaltet gelassen habe. Idealerweise sollte Android Studio diese als Standardeinstellungen haben.
Mr-IDE
3
Ich habe diese Methode für HP 6005 Mini-Gehäuse mit 4 GB RAM und AMD X4-CPU verwendet. Nachdem ich all diese Plugins deaktiviert hatte, öffnete sich mein Android Studio sehr, sehr schnell. Ich kann es nicht glauben. Bevor Sie das Android Studio starten, nehmen Sie sich 15 Sekunden Zeit, aber jetzt dauert es 1 Sekunde. danke
AN
2
Deaktivieren Sie auch Mercurial Integration, TestNG-J;
Xiaoweiz
107

In meinem Fall gab es zwei Hauptursachen für Speicherprobleme: die IDE und Gradle:

Android Studio (bis zu 1,5 GB)

Die JVM der IDE ist für eine maximale Heap-Größe konfiguriert. Sie können dies in der unteren rechten Ecke der Hauptoberfläche sehen:

Android Studio mit einer maximalen Heap-Größe von 725 MB

Sie können dies reduzieren, indem Sie die speicherbezogenen Einstellungen in der .vmoptionsDatei bearbeiten . Zum Beispiel habe ich meine maximale Heap-Größe auf 512 MB geändert:

-Xmx512m

Leider habe ich festgestellt, dass das Verringern dieses Werts die Häufigkeit des vorübergehenden Einfrierens von Android Studio erhöht, möglicherweise um die Speicherbereinigung durchzuführen.

Gradle (bis zu 1,5 GB)

Gradle kann nach einer Weile der Entwicklung auch viel RAM verwenden. Windows zeigt es nur als Java(TM) Platform SE Binary:

Windows 8.1 Task-Manager zeigt "Java (TM Platform SE-Binärdatei") mit 1.460,5 MB Speicher an

Sie können dies beheben, indem Sie die Gradle JVM-Optionen ändern. Sie können dies auf Benutzerbasis tun, indem Sie Folgendes bearbeiten gradle.properties:

  1. Öffnen Sie die gradle.propertiesDatei und erstellen Sie sie, wenn sie nicht vorhanden ist:
    • Windows: %USERPROFILE%\.gradle\gradle.properties
    • Linux / Mac: ~/.gradle/gradle.properties
  2. Aktualisieren Sie die org.gradle.jvmargsEigenschaft und erstellen Sie sie gegebenenfalls. Ich habe meine darauf eingestellt:

    org.gradle.jvmargs=-Xmx256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    

Ich habe keinen Unterschied in der Build-Leistung für mein kleines Projekt festgestellt, bei dem die maximale Heap-Größe auf 256 MB ( -Xmx256m) festgelegt ist.

Beachten Sie, dass Sie möglicherweise Android Studio neu starten müssen, damit der alte Gradle-Prozess beendet wird. Andernfalls werden möglicherweise beide gleichzeitig ausgeführt.

Emulator

In Bezug auf den Emulator, der viel RAM beansprucht, zeigt Ihr Screenshot, dass er ungefähr 800 MB benötigt. Sie können auswählen, wie viel RAM dem Emulator zugewiesen werden soll:

  1. Bearbeiten Sie die AVD
  2. Drücken Sie auf Erweiterte Einstellungen anzeigen
  3. Reduzieren Sie den RAM- Wert

RAM-Konfiguration für Android Virtual Device

Sam
quelle
Dies in Verbindung mit SoJexys Antwort erhöhte die Leistung auf meinem Computer dramatisch.
Josh Larson
Diese Tipps waren ein Lebensretter! Es besteht auch die Möglichkeit, die vom Dex-Compiler verwendete Heap-Größe zu ändern, wodurch die Speichernutzung weiter reduziert wird. Details: techzog.com/development/android-studio-high-ram-usage
Varun
1
In der .vmoptionsDatei heißt es: *DO NOT* modify this file directly. If there is a value that you would like t$ please add it to your user specific configuration file. See http://tools.android.com/tech-docs/configurationDa es jedoch keine benutzerspezifische Datei auf meinem System zu geben scheint und die Website keine anderen Speicherorte einer solchen Datei erklärt, werde ich mich für diese Lösung entscheiden. Oh und: MaxPermSize wird irgendwann veraltet sein. Es warnt mich immer davor, wenn ich IDEs im Terminal starte.
Zelphir Kaltstahl
1
@Zelphir, welches Betriebssystem und welche Android Studio-Version verwenden Sie? Ich verwende Windows und die Anweisungen besagen, dass sich die Datei unter befindet %USERPROFILE%, was benutzerspezifisch ist. Ich bin nicht sehr gut in Linux, aber die Mac- und Linux-Anweisungen besagen auch, dass sich die Datei unter ~dem Home-Verzeichnis des Benutzers befindet. Wenn die Datei nicht vorhanden ist, können Sie sie möglicherweise einfach erstellen. In der oben genannten Dokumentation heißt es Instead, you can customize the attributes by creating your own .properties or .vmoptions files in the following directories.. Könnten Sie mich wissen lassen, ob es funktioniert, damit ich die Antwort aktualisieren kann?
Sam
3
Tolle Vorschläge! Für Gradle habe ich das Problem "benutzerweit" durch Bearbeiten gelöst ~/.gradle/gradle.properties.
Andrea Lazzarotto
50

Sie können Ihre Eclipse- oder Android Studio-Arbeit beschleunigen. Befolgen Sie einfach die folgenden Anweisungen:

  • Verwenden / öffnen Sie jeweils ein einzelnes Projekt
  • Bereinigen Sie Ihr Projekt, nachdem Sie Ihre App jedes Mal im Emulator ausgeführt haben
  • Verwenden Sie ein mobiles / externes Gerät anstelle eines Emulators
  • Schließen Sie den Emulator nicht, nachdem Sie ihn einmal verwendet haben. Verwenden Sie jedes Mal denselben Emulator, um die App auszuführen
  • Deaktivieren Sie VCS über Datei-> Einstellungen-> Plugins und deaktivieren Sie die folgenden Dinge:
    1.CVS-Integration
    2.Git-Integration
    3.GitHub
    4.Google Cloud Tools für Android Studio
    5.Subversion-Integration

Ich verwende auch Android Studio mit 4 GB installiertem Hauptspeicher, aber das Befolgen dieser Anweisungen steigert meine Android Studio-Leistung wirklich.

KulArtist
quelle
1
Ich habe alle Dinge in der Liste deaktiviert. Trotzdem verwendet es ungefähr 1,5 GB RAM
Arshad
@ arshadkazmi42 sagen Sie mir Konfiguration Ihres PCs
KulArtist
i3, 4 GB RAM, 500 GB Festplatte
Arshad
13
Ich denke, das ist ein völliger Unsinn zu sagen, dass der "i3" die Ursache für die Fehler in der Software-Verarbeitung ist!
XMight
1
Mein i3-Prozessor möchte Ihren> i3 herausfordern. Möchten Sie diese Herausforderung annehmen? Niemand wird sagen, dass i3 langsamer ist oder viel Gedächtnis
beansprucht
28

Android Studio hat kürzlich einen offiziellen Leitfaden für Computer mit wenig Speicher veröffentlicht: Leitfaden

Wenn Sie Android Studio auf einem Computer mit weniger als den empfohlenen Spezifikationen ausführen (siehe Systemanforderungen), können Sie die IDE wie folgt anpassen, um die Leistung auf Ihrem Computer zu verbessern:

  • Reduzieren Sie die maximale Heap-Größe, die für Android Studio verfügbar ist : Reduzieren Sie die maximale Heap-Größe für Android Studio auf 512 MB.

  • Gradle und das Android-Plugin für Gradle aktualisieren : Aktualisieren Sie auf die neuesten Versionen von Gradle und das Android-Plugin für Gradle, um sicherzustellen, dass Sie die neuesten Leistungsverbesserungen nutzen.

  • Aktivieren Sie den Energiesparmodus : Aktivieren der Energiesparmodus schaltet sich aus einer Reihe von Speicher- und Batterieintensiven Hintergrundoperationen, einschließlich Fehler markieren und on-the-fly Inspektionen, Autopopup Code - Vervollständigung und automatische inkrementelle Hintergrund Kompilierung. Klicken Sie zum Aktivieren des Energiesparmodus auf Datei> Energiesparmodus.

  • Deaktivieren Sie unnötige Flusenprüfungen : Um zu ändern, welche Flusenprüfungen Android Studio auf Ihrem Code ausführt, gehen Sie wie folgt vor: Klicken Sie auf Datei> Einstellungen (auf einem Mac, Android Studio> Einstellungen), um das Dialogfeld Einstellungen zu öffnen. Erweitern Sie im linken Bereich den Abschnitt Editor und klicken Sie auf Inspektionen. Aktivieren Sie die Kontrollkästchen, um die für Ihr Projekt geeigneten Flusenprüfungen zu aktivieren oder zu deaktivieren. Klicken Sie auf Übernehmen oder auf OK, um Ihre Änderungen zu speichern.

  • Debuggen auf einem physischen Gerät : Das Debuggen auf einem Emulator benötigt mehr Speicher als das Debuggen auf einem physischen Gerät. Sie können also die Gesamtleistung für Android Studio verbessern, indem Sie auf einem physischen Gerät debuggen.

  • Nur notwendige Google Play Services als Abhängigkeiten einschließen: Durch das Einbeziehen von Google Play Services als Abhängigkeiten in Ihr Projekt wird der erforderliche Speicherplatz erhöht. Schließen Sie nur die erforderlichen Abhängigkeiten ein, um die Speichernutzung und -leistung zu verbessern. Weitere Informationen finden Sie unter Hinzufügen von Google Play-Diensten zu Ihrem Projekt.

  • Reduzieren Sie die maximal verfügbare Heap-Größe für die DEX-Dateikompilierung : Setzen Sie die Kompilierung von javaMaxHeapSize für DEX-Dateien auf 200 m. Weitere Informationen finden Sie unter Verbessern der Erstellungszeiten durch Konfigurieren von DEX-Ressourcen .

  • Aktivieren Sie die parallele Kompilierung nicht : Android Studio kann unabhängige Module parallel kompilieren. Wenn Sie jedoch über ein System mit wenig Arbeitsspeicher verfügen, sollten Sie diese Funktion nicht aktivieren . Gehen Sie wie folgt vor, um diese Einstellung zu überprüfen: Klicken Sie auf Datei> Einstellungen (auf einem Mac, Android Studio> Einstellungen), um das Dialogfeld Einstellungen zu öffnen. Erweitern Sie im linken Bereich Build, Execution, Deployment und klicken Sie dann auf Compiler. Stellen Sie sicher, dass die Option Unabhängige Module parallel kompilieren deaktiviert ist. Wenn Sie eine Änderung vorgenommen haben, klicken Sie auf Übernehmen oder auf OK, damit Ihre Änderung wirksam wird.

  • Aktivieren Sie den Offline-Modus für Gradle : Wenn Sie nur über einen eingeschränkten Bandschalter verfügen, aktivieren Sie den Offline-Modus, um zu verhindern, dass Gradle versucht, fehlende Abhängigkeiten während des Builds herunterzuladen. Wenn der Offline-Modus aktiviert ist, gibt Gradle einen Build-Fehler aus, wenn Abhängigkeiten fehlen, anstatt zu versuchen, sie herunterzuladen. Gehen Sie wie folgt vor, um den Offline-Modus zu aktivieren:

    • Klicken Sie auf Datei> Einstellungen (auf einem Mac, Android Studio> Einstellungen), um das Dialogfeld Einstellungen zu öffnen.

    • Erweitern Sie im linken Bereich Build, Execution, Deployment, und klicken Sie dann auf Gradle.

    • Aktivieren Sie unter Global Gradle-Einstellungen das Kontrollkästchen Offline-Arbeit.

    • Klicken Sie auf Übernehmen oder auf OK, damit Ihre Änderungen wirksam werden.

Androidmeda
quelle
15

Ich habe alle oben genannten Empfehlungen von Sam verwendet, aber festgestellt, dass die VM-Befehlszeilenoptionen nicht mehr wie beschrieben unterstützt werden. (Ich habe bei Verwendung einen Fehler erhalten)

Alternativ konnte ich gradle drastisch reduzieren, indem ich der Datei "gradle.properties" die folgende Zeile hinzufügte

org.gradle.jvmargs=-Xms512m -Xmx1024m

Ab AS Version 1.3 befindet sich die Datei in derselben Ordnerebene wie "gradle.build".

Die obige Konfiguration ist ein "Speicherstapel" von 512 Megabyte und ein "Speicherhaufen" von 1024 Megabyte.

Ich habe dies an einem kleinen Projekt getestet und dabei Einstellungen verwendet, bei denen beide Speichergrößen auf 256 MB eingestellt waren. Die JVM-Größen wurden erwartungsgemäß begrenzt. In all meinen Tests habe ich AS neu gestartet, um die JVM zum Neustart zu zwingen.

Hoffentlich erspart dies anderen, die sich mit diesem Problem befassen, die Antwort "Holen Sie sich einen besseren Computer". :-)

Dilber

SpacemanScott
quelle
Vielen Dank; Das hat bei mir in AS 1.3 funktioniert! Ich habe die Anweisungen in meiner Antwort aktualisiert, um diese Methode abzudecken, da ich in AS 1.3 keine anderen Möglichkeiten gefunden habe, dies zu tun.
Sam
2

Ich habe Android Studio 2.1.1 Bro verwenden Genymotion Emulator Es schneller, wenn Android Marshmallow verwenden. Und mein Ram ist 4 GB groß. Und installieren Sie das Plugin für Genymotion in Android Studio. Sie werden ein gutes Ergebnis sehen, anstatt Zeit zu verschwenden. Starten Sie Android Emualtor. Es dauert 5 Minuten. Genymotion 10 bis 20 Sekunden Geschwindigkeit und schneller. Ich empfehle Ihnen daher, Genymotion zu verwenden.

Nick
quelle
3
Als wäre es kostenlos.
Ojonugwa Jude Ochalifu
Genymotion ist nicht schneller in der Leistung. Emulator ist, aber ja, es startet schneller als ARM und sehr schnell als IntelX86 und X64 Android Studio Emulatoren.
Mahdi-Malv
2

Um die Verzögerung zu verringern, würde ich die folgenden Schritte empfehlen

Meine PC-Spezifikationen: 2 GB RAM, Prozessor: Intel Core2 Duo

Beenden Sie zuerst alle Hintergrundprozesse. Wenn ein Server oder eine Datenbank ausgeführt wird, können Sie diese zuerst mit den folgenden Befehlen stoppen

sudo service apache2 stop

sudo service mysql stop

Aktivieren Sie dann den Energiesparmodus in Android Studio über Datei> Energiesparmodus

Es könnte den Hintergrundprozess deaktivieren, und dann scheint das Studio gut zu laufen

Naveen
quelle
Verstehe nicht, warum wir aktivieren müssenPower Save Mode
Morozov
Morozov, wenn wir den Energiesparmodus aktivieren, werden die Hintergrundaktivitäten von Android Studio beendet, sodass die Leistung verbessert wird
Naveen,
Ja, Energiesparmodus stoppen diesen Prozess
Naveen
2

So führen Sie die Android-Umgebung auf einem Computer mit niedriger Konfiguration aus

  1. Schließen Sie die nicht erforderlichen Web-Registerkarten im Browser
  2. Schließen Sie für Antivirus-Benutzer den automatisch generierten Build-Ordner aus
  3. Android Studio haben 1,2 GB Standard-Heap kann auf 512 MB reduziert werden

Hilfe> Benutzerdefinierte VM-Optionen bearbeiten

studio.vmoptions
 -Xmx512m

Die Leistung der Layouts wird beschleunigt

  1. Für Gradle eine der Kernkomponente in Android Studio Mkae sicher richtig wie jetzt 3.0beta ist spätestens ein

Die folgenden Tipps können die Codequalität beeinträchtigen. Verwenden Sie sie daher mit Vorsicht:

  1. Studio enthält Power Power-Modus, wenn es aktiviert ist, werden Hintergrundvorgänge geschlossen, die fusseln, Code vervollständigen und so weiter.

  2. Sie können die Flusenprüfung bei Bedarf manuell durchführen ./gradlew lint

  3. Die meisten verwenden Android-Emulatoren, die durchschnittlich 2 GB RAM verbrauchen. Wenn Sie also ein tatsächliches Android-Gerät verwenden, wird dadurch die Ressourcenbelastung Ihres Computers verringert. Alternativ können Sie den Arbeitsspeicher des Emulators reduzieren und der Verbrauch des virtuellen Speichers auf Ihrem Computer wird automatisch reduziert. Sie finden dies in der Konfiguration des virtuellen Geräts und in der Voreinstellung.

  4. Der Gradle-Offline-Modus ist eine Funktion für Benutzer mit begrenzter Bandbreite, um das Herunterladen von Build-Abhängigkeiten zu deaktivieren . Dadurch wird der Hintergrundbetrieb reduziert, der zur Leistungssteigerung von Android Studio beiträgt.

  5. Android Studio bietet eine Optimierung, um mehrere Module parallel zu kompilieren . Auf Computern mit geringem Arbeitsspeicher wirkt sich diese Funktion wahrscheinlich negativ auf die Leistung aus. Sie können es im Dialogfeld mit den Compilereinstellungen deaktivieren .

Smit Patel
quelle
"studio.vmoptions -Xmx512m" hat Android Studio für mich getötet. Wird nicht mehr geöffnet "Fehler beim Erstellen der JVM: Fehlercode -1". Wie kann ich diese Änderung rückgängig machen?
MeatPopsicle
1
Für den Fall, dass jemand anderes in dieselbe Falle gerät. Sie können das Problem beheben, indem Sie unter C: \ Benutzer \ <Benutzername> \ .AndroidStudio <Version> \ config nach einer .vmoptions-Datei suchen. Wenn es mit der gerade hinzugefügten Konfiguration übereinstimmt, können Sie es wahrscheinlich sicher löschen
MeatPopsicle
1

Versuchen Sie, Ihre JVM auf Eclipse OpenJ9 umzustellen. Es wird viel weniger Speicher verbrauchen. Ich habe es getauscht und es verwendet ständig 600 MB.

Vijay Britto
quelle
1

Ich weiß nicht, ob es eine Lösung ist, habe aber Invalidate Cache and Restartdieses Problem in meinem Fall gelöst. Ich verwende derzeit Android Studio 3.6

Aziz
quelle
0

Öffnen Sie den unten angegebenen Pfad auf Ihrem System und löschen Sie alle Ihre AVDs (virtuelle Geräte: Emulator).

C: \ Benutzer {Benutzername} .android \ avd

Hinweis: - Wenn Sie Emulator nur aus Android Studio löschen, werden nicht alle Leerzeichen gelöscht, die von den AVDs erfasst werden. Löschen Sie also alle AVDs aus dem oben angegebenen Pfad und erstellen Sie bei Bedarf einen neuen Emulator.

Narender Gusain
quelle