Android Studio - Ayrılan Yığın Boyutu nasıl artırılır


118

Android Studio'yu 3 aydır kullanıyorum ve üzerinde başlattığım uygulamalardan biri oldukça büyük hale geldi. Programın sağ alt köşesinde gösterilen bellek kullanımı, ayrılan yığınımın 494M'de maksimuma çıktığını söylüyor.

görüntü açıklamasını buraya girin

XML dosyalarını değiştirmeye başladığımda bellek kullanımım hızla bu sınıra ulaşıyor ve IDE bunun gibi bir Bellek Yetersiz hatasıyla çöküyor.

görüntü açıklamasını buraya girin

Bunu kullanarak yığın boyutunu artırmaya çalıştım ama şimdiye kadar hiçbir etkisi olmadı.

Yığın boyutunun nasıl artırılacağına dair düzinelerce makaleye ve diğer sorulara baktım ancak yanıtlarından hiçbiri işe yaramıyor. VMOPTIONS veya IDE ayarlarına ne yaparsam yapayım yığın boyutu asla artmaz. VMOPTIONS için doğru dosyayı düzenlediğime inanıyorum çünkü bilerek geçersiz bir komut verirsem Android Studio bundan şikayet ediyor ve başlamıyor.

Windows 7 - 64 bit kullanıyorum ve 16GB RAM'im var. Android Studio ile bu sorunu yaşayan başka biri var mı? Ve tamir edebildin mi?


Bellek ve stüdyo JVM başlangıç ​​için kullanıcıya özel ayarları yapılandırmayla ilgili en güncel bilgiler için aşağıdaki @ moxi'nin cevabına bakın. Stackoverflow.com/a/29057416/396005
Bron Davies

1
Güncellenmiş Android Studio belgeleri: developer.android.com/studio/intro/…
Morrison Chang

Yanıtlar:


136

-------DÜZENLE--------

Android Studio 2.0 ve üzeri, Yardım menüsünden "Özel Sanal Makine Seçeneklerini Düzenle" ye erişerek bu dosyayı oluşturabilir / düzenleyebilirsiniz.

------ ORİJİNAL CEVAP --------

Şu konumda bulunan dosyayı açın

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

İçeriği şu şekilde değiştirin:

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

XmxJava Sanal Makinesi (JVM) için maksimum bellek ayırma havuzunu Xmsbelirtirken, başlangıç ​​bellek ayırma havuzunu belirtir. JVM'niz Xmsbellek miktarıyla başlatılacak ve maksimum Xmxmiktarda bellek kullanabilecektir.

Dosyayı kaydedin studio.vmoptionsve Android Studio'yu yeniden başlatın.

Bu gönderide daha fazlası .

Not:

IDE için yığın boyutunu değiştirdiyseniz, yeni bellek ayarları uygulanmadan önce Android Studio'yu yeniden başlatmanız gerekir. ( kaynak )


Bu, sembol haritasını oluştururken Android Studio'nun 15 dakika sonra hafızanın bittiği çok büyük bir projede benim için bir sorunu çözdü. Xms'i 1024m'ye ve Xmx'i 4096'ya değiştirdim ve sembol haritası 30 saniyenin altında oluşturuldu - bu nedenle çöp toplayıcı uzun süredir çalışıyor olmalı.
RikMaxSpeed

10
Lord Flash'ın belirttiği gibi: Android Studio 2.0'dan itibaren, Yardım menüsünden "Özel Sanal Makine Seçeneklerini Düzenle" ye erişerek bu dosyayı oluşturabilir / düzenleyebilirsiniz.
Lasse Magnussen

Thx, çok faydalı. Bilginize, 64 bit sürümünü kullanıyorsanız, düzenlenecek dosyanın adı studio64.exe.vmoptions olur.
Eselfar

50

Ortam Değişkenlerime baktım _JAVA_OPTIONSve değerle birlikte bir Sistem Değişkenini çağırdım -Xms256m -Xmx512m, bunu -Xms256m -Xmx1024mmaks. Yığın boyutuna değiştirdikten sonra buna göre artırıldı.


9
_JAVA_OPTIONS adında bir Sistem Değişkeni yoktu. ama el ile yeni bir tane oluşturdum ve iyi çalışıyor. teşekkürler.
Yasir Ali

Güzel, bu işe yarıyor! Yığın boyutunu arttırmanın iyi bir şey olup olmadığını merak ediyorum ... Demek istediğim, işe yarıyor ve kesinlikle belirli durumlarda doğru yoldur, ama her zaman doğru yol mu? Yoksa daha iyi çözümler olabilir mi? Teşekkürler!
Marino

Bu sorun nedeniyle yığın boyutu da olan stackoverflow.com/questions/29148374/...
Sagar Devanga

Benim için de işe yaramadı, ancak Android Studio'nun bazı Java işlemlerinin önceki uygulamalardan sarkmasına izin verdiği ortaya çıktı ve hepsi açıkça çok fazla bellek kullanıyordu.
alex.magellan

48

Veya android-studio\binklasörünüze gidip bu -Xmx ve -Xms değerlerini studio.exe.vmoptionsveya studio64.exe.vmoptionsdosyalarda değiştirebilirsiniz (çalıştırdığınız sürüme bağlı olarak).


2
Bu benim için işe yaramadı çünkü _JAVA_OPTIONS değişkeni varsayılan değer olarak kullanılıyordu.
zafrani

Her iki seçeneği de değiştirdim (vmoptions ve _JAVA_OPTIONS) ama hala hatam var
Raphael Royer-Rivard

Eğer vmoptions'a kasıtlı olarak bir sözdizimi hatası girerseniz, yeniden başlattığınızda program çöküyor mu?
zafrani

Emin değilim ama olması gerektiğini sanmıyorum. Ayrıca, vmoptions'a kasıtlı olarak neden bir sözdizimi hatası girdiğinizi sorabilir miyim?
croc


32

Sonraki Google belgelerine göre hafızamı artırdım:

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

Varsayılan olarak Android Studio'ya maksimum 750Mb atanmıştır, 2048Mb olarak değiştirdim.

Google'ın tarif ettiği şeyi denedim ama benim için işe yaradığı tek şey bir ortam değişkeni kullanmaktı. Ne yaptığımı anlatacağım:

Önce .AndroidStudioSettings adını verdiğim bir dizin oluşturdum,

  • mkdir .AndroidStudioSettings

Daha sonra studio.vmoptions adında bir dosya oluşturdum ve bu dosyaya aşağıdaki içeriği koydum:

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

Daha sonra .profile dosyama STUDIO_VM_OPTIONS ortam değişkenlerini ekledim:

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

Ardından .profile dosyamı yeniden yüklerim:

  • source ~/.profile

Ve sonunda Android Studio'yu açıyorum:

  • open /Applications/Android\ Studio.app

Ve artık durum çubuğunu kullanarak görebileceğiniz gibi , Android Studio için 2000 MB'den fazla kullanılabilir alanım var:

görüntü açıklamasını buraya girin

Değerlerinizi ihtiyacınıza göre özelleştirebilirsiniz benim durumumda 2048Mb yeterlidir.

GÜNCELLEME: Android Studio 2.0, Yardım menüsünden "Özel Sanal Makine Seçeneklerini Düzenle" ye erişerek bu dosyayı değiştirmenize izin verir, kutunuzda olabilecek evrimi artırmak için saklamak isteyebileceğiniz değişkenleri kopyalayıp yapıştırmanız yeterlidir.


Bu çözüm yalnızca AS'yi kabuktan açarken işe yaramaz mı?
guy.gc

export STUDIO_VM_OPTIONS=/Users/youruser/.AndroidStudioSettings/studio.vmoptionsTerminaldeki gibi komutları nereye yazıyorsunuz ?
COYG

31

IDE kurulum dizinindeki hiçbir dosyayı düzenlememelisiniz. Bunun yerine, aşağıdaki dizinlerde kendi .properties veya .vmoptions dosyalarınızı oluşturarak öznitelikleri özelleştirebilirsiniz. (Bu, daha önce bazı platformlarda mümkündü, ancak dosyaların tüm içeriğini kopyalamanızı ve değiştirmenizi gerektiriyordu. En son değişikliklerle birlikte, bu özellikler artık yalnızca önem verdiğiniz öznitelikleri ayarlayabileceğiniz şekilde eklemeli ve geri kalanı IDE kurulumundaki varsayılanları kullanacaktır).

Not: Android Studio 2.0'dan itibaren, Yardım menüsünden "Özel Sanal Makine Seçeneklerini Düzenle" dosyasına erişerek bu dosyayı oluşturabilir / düzenleyebilirsiniz.

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

görüntü açıklamasını buraya girin


12

MAC BOOK kullanıyorsanız , bu seçenek Uygulamalar -> Android Studio'ya sağ tıklayın ve ardından Paket içeriğini göster -> bin'i seçin .

görüntü açıklamasını buraya girin

veya

açık -e /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions

Sonra Xmxdeğeri artırın

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

Artık Android Studio'nuz süper hızlı olacak.


10

Android Studio 3.1 , sanal bellek seçeneklerinizi özelleştirme seçeneğine sahiptir.

Android Studio> Yardım> Özel Sanal Makine Seçeneklerini Düzenle'ye gidebilirsiniz

görüntü açıklamasını buraya girin

Ardından, studio64.exe.vmoptions dosyasına ayarlar kodunu yapıştırın ve kaydedin.

dosya konumu: "\ Kullanıcılar \ kullanıcı adı \ .AndroidStudio3. ** \ config \"

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

1
Bu son satır yanlış - Android Studio 3.2 başlangıçta orada çöküyor.
CommonsWare

9

Not: Şimdi yazının cevabı bu değil, ama belki de arayan biri için bu yardımcı olabilir.

Bunların hiçbiri sizin için işe yaramazsa, Android Studio'nun son sürümünde studio.vmoptions, Uygulamalar klasörünüzdeki AndroidStudio.app içinde size yardımcı olup olmadığını görmek için bir Mac'te deneyin.

Bu nedenle, AndroidStudio.App'inize sağ tıklayın veya ctrl tıklayın ve ardından studio.vmoptions'ın bulunduğu paket içeriğini göster'i seçin:

İçindekiler / bin / studio.vmoptions

Değiştirin veya değiştirin, ihtiyacınız olan tüm RAM'i alacaksınız.

görüntü açıklamasını buraya girin görüntü açıklamasını buraya girin

Saygılarımızla.


Bu dosyayı değiştirmemelisiniz, burada belirtileni değiştirmelisiniz: tools.android.com/tech-docs/configuration . Mac için: ~ / Library / Preferences / {FOLDER_NAME} /studio.vmoptions
GaRRaPeTa

6

_JAVA_OPTIONS şeyini denedim ama hala benim için çalışmıyordu.

Sonunda benim için işe yarayan şuydu:

  • Studio.exe yerine studio64.exe başlatılıyor (64 bit makinem var).
  • "Studio64.exe.vmoptions" klasörüne aşağıdaki değerleri ekleyin / değiştirin:

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


1
Tam olarak seninle aynısını yaptım, hala
Hafızamda

Android Studio'nun en son sürümüne güncellediniz mi? Canary Channel kullanıyorum ve 1.0 RC 4
ExpensiveBelly

Hayır, 0.8.14'teydim ama bellek sızıntısının nedenini buldum. "Light_gray" adlı bir renk oluşturmak ve bunu bir düzen dosyasında kullanmak sonsuz bellek kullanır ... "light_grey" yine de tamam.
Raphael Royer-Rivard

6

Artık modası geçmiş birçok yanıt var. Android Studio için yığın boyutunu değiştirmenin istenen yolu yakın zamanda değişti.

Kullanıcılar artık aşağıdaki dizinlerden birinde kendi vmoptions dosyalarını oluşturmalıdır;

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

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

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

Yeni oluşturulan *.vmoptionsdosyanın içeriği şöyle olmalıdır:

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

RAM payını artırmak -XmX750miçin başka bir değere değiştirin .

Talimatların tamamı burada bulunabilir: http://tools.android.com/tech-docs/configuration


1
ancak studio.vmoptionsbahsettiğiniz yolda dosya yok . onlar altındadır%AndroidStudioInstallationPath%\bin\studio.exe.vmoptions
Mulgard

Bu doğru cevap. Diğerleri modası geçmiş veya cesareti kırılmış.
GaRRaPeTa

4

Öncelikle android stüdyonuz için ne kadar bellek ayrıldığını kontrol etmek için aşağıdaki adımları izleyin:

Dosya -> Ayarlar-> Görünüm ve Davranış-> Görünüm

sonra aşağıdaki görüntü kırmızı vurgulanmış kısım gibi hafıza göstergesi seçeneğini kontrol edin görüntü açıklamasını buraya girin

Benim durumumda RAM'ım 12Gb, bu yüzden android studio 6gb için bellek ayırdım.

Yardım-> Özel sanal makine seçeneklerini düzenleyin

-Xmx6g

Benim durumumda, 6gb'yi ayarladım çünkü bilgisayar RAM'ım 12 GB. Android stüdyonuza ayırmak istediğiniz bellek miktarı size kalmış


3

Windows 7'de, adresindeki yapılandırma dosyaları [INSTALL-LOCATION]\bingöz ardı ediliyor gibi görünüyor. Aşağıdaki Google belgelerine göre, değiştirilecek dosya burada olmalıdır:%USERPROFILE%\.AndroidStudio\studio[64].exe.vmoptions

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

Geliştirici sitesinden temiz bir Android Studio 1.1 yüklemesi üzerine böyle bir dosya olmaması garip. Ve eski (görmezden gelinen) konumdadırlar. Dosyayı ( studio.exe.vmoptionsbenim durumumda) kopyalayıp değiştirdiğimde, değişikliğe saygı duyulur.

Ancak eğlence burada bitmiyor. -XmxSisteminizdeki bellek miktarıyla ilgili olabilecek bir üst değer vardır . Sadece 16Gb 4Gb benim makinenin bellek çarptı ve ben ayarlamak varsaymışlardı -Xmxiçin 2048m, ama ben buldum ben daha büyük bir şey olarak ayarlarsanız 1500m,Android Studio sessizce neden olarak hiç bir belirti olmaksızın başlatmak için başarısız olur. Yolda daha fazla RAM var, bu yüzden o noktada değeri artırıp artıramayacağımı görmek ilginç olacak.

Umarım bu ek bilgiler yardımcı olur. Yukarıdaki yanıtların tümü şüphesiz bir noktada (ve hala bazı ortamlarda olabilir) doğru olsa da, AS'nin benim için kullandığı belleği artıran tek yaklaşımın bu olduğunu gördüm.


2

Studio.vmoptions'ı açın ve JVM seçeneklerini değiştirin

studio.vmoptions, / Applications / Android \ Studio.app/bin/studio.vmoptions (Mac OS) konumunda bulunur. Makinemde şöyle görünüyor

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

Değişmek

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

Ve Android Studio'yu yeniden başlatın

Daha fazla Android Studio web sitesine bakın


2

Android Studio 1.1.0'dan itibaren Windows 7 / 8'de (64 bit) buldum:

[INSTALL_DIR]\bin\studio64.exe.vmoptions kullanılabilir (eğer varsa), aksi takdirde her zaman geri döner %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions

Ayarların yönetilmesini istiyorsanız %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions, kurulum dizinindekini silin.


2

Gradle Scripts -> local.properties'e gidin ve bunu yapıştırın

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

, 512 olarak değiştirmek isterseniz. Çalışmasını umuyoruz!


2

Güncelleme yamasını uygularken doğrulanacak olan bin / studio.exe.vmoptions dosyasını değiştirmemeniz gerekir.

Çözümler burada http://tools.android.com/tech-docs/configuration

bu dosyayı aşağıdaki konuma kopyalayın, sonra -Xmx1280m'yi istediğiniz gibi değiştirin.

Pencereler:

%USERPROFILE%\.{FOLDER_NAME}\studio.exe.vmoptions ve / veya %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 ve / veya ~/.{FOLDER_NAME}/studio64.vmoptions

~/.{FOLDER_NAME}/idea.properties


1
Bunu yapmak için IntelliJs / Android Studios'un kendi işlevini kullanmak daha güvenlidir: IDE'yi açın ve "Yardım" -> "Özel Sanal
Makine

2

XML ile her çalıştığımda bu Xmsve Xmxbellek düşük sorunu başıma geldi. Ayrıca bu hafızayı artırmayı da denedim, sadece tekrar olmasının biraz daha uzun sürdüğünü bulmak için.

Çok hüsrana uğradıktan ve neredeyse tüm mevcut projelerimi yapmak istemediğim Eclipse'e dönüştürmeye karar verdikten sonra, buna neyin sebep olduğunu anladım ve bu başarısızlığı her seferinde tekrarlayıp önleyebildim.

XML'yi (Metin görünümünde) düzenlerken ve "Önizleme" oluşturma görünümünü kullanırken, bu her seferinde bellek kaybına neden olur. "Önizleme" yi kapatarak ve Tasarım sekmesini yalnızca ekranı oluşturmak için kullanarak Android Studio'yu tüm gün boyunca herhangi bir kilitlenme olmadan kullanabiliyorum.

Keşke bunun iyi bir şekilde düzeltilebilmesini diliyorum, çünkü XML'yi düzenlerken "Önizleme" görüntüsünü kullanmak çok güzel olurdu, ancak Android Studio'yu kullanmaya devam edebildiğim için mutluyum.


2

Şu anda Android Studio 3.6.1'de yığın boyutunu bu şekilde değiştirirsiniz

Android Studio'nuzdaki Windows'ta:

  1. Dosya -> Ayarlar'ı seçin (aşağıdaki açılır pencere görüntülenecektir)

Ayarlar İletişim Kutusu

  1. Görünüm ve Davranışı Seçin
  2. Sistem Ayarlarını Seçin
  3. Hafıza Ayarlarını Seçin

Ardından IDE Heap Size ayarlarını istediğiniz değere değiştirin

Mac'te:

  1. Android Studio'yu seçin
  2. Tercihleri ​​Seçin

Aynı açılır pencere görünecektir. Ancak, bu sefer Mac'te Tercihler olarak adlandırılır.

Yığın boyutunu ayarlamak için Android Studio'nun Windows sürümüyle aynı adımları izleyin, Tercihler iletişim kutusunun görüntülenmesini ister


1

Bu sorunu alan birine yardımcı olabilir:

studio64.exe.vmoptionsDosyayı düzenledim ama kaydedemedim.

Bu yüzden bu dosyayı Notepad ++ Run as Administratormodunda açtım ve başarıyla kaydettim.


1

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


6
Küçük bir açıklama cevabınızı kesinlikle iyileştirecektir.
m02ph3u5

1

EĞER değiştirerek veya oluşturarak .studio.exe.vmoptionsişe yaramazsa, gradle.propertiesdosyayı değiştirmeyi deneyin ve gereksiniminize göre yığın boyutunu değiştirin.

Benim için gerçekten 4Gb RAM ve Android Studio 2.2 yüklü Windows 7'imde çalıştı.

Hatasız düzgün çalışıyor ve 'Gradle Sync tamamlandı' görüntüleniyor


Uygulamamda hata ayıklarken kullanılan maksimum yığın boyutunu ayarlamak için bir grade.properties eklemek zorunda kaldım. Ama sormak zorundayım, neden studio.vmoptions'ı Android Studio yapılandırma sayfasında belirtildiği gibi ayarlamıyor reklamı yapıldığı gibi çalışmıyor? Benim endişem, temelde yanlış bir şey yapmam (ama kesinlikle öyle görünmüyor). (Teşekkürler) Şu adreste ayrıntılı bir soru gönderdim: stackoverflow.com/questions/40833031/…
JimCzek

1

Mac OSX'te, ilk menü öğesi olan Android Studio> tercih> Sistem Ayarları (sol menü)> Bellek Ayarları'na giderek yığın boyutunu kolayca değiştirebilirsiniz ve iletişim kutusunda yığın boyutunu oradan değiştirebilirsiniz.

görüntü açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.