Android stüdyosu çok fazla bellek alıyor


175

Android Studio 1.0 RC 2'yi yükledim. 4GB RAM yüklü, ancak Android Studio'yu başlattıktan ve Android Emulator'u başlattıktan sonra, sadece bu ikisi tarafından fiziksel belleğin% 90'ından fazlası kullanıldı. Bu bellek kullanımını azaltmanın bir yolu var mı? Bu bellek sorunu nedeniyle, diğer uygulamaları aynı anda açamıyorum. resim açıklamasını buraya girin


17
Eclipse veya Android Studio ve bir emülatör kullanarak 4GB Windows geliştirme makinesinde çok acı verici olacak. Ben ediyorum şiddetle ya (bunun yerine bir emülatör) bir cihazda geliştirme makinenin RAM (8 GB veya daha fazla), test yükseltme veya IDE atlayıp düz bir editörü ve komut satırı araçlarını kullanarak geliştirme yapmak öneririz.
CommonsWare

2
Sanırım yayınladığınız ekran görüntüsüne bakarak Windows kullanıyorsunuz. Peki hangi Windows sürümü? Ayrıca, Android Studio hala başlangıç ​​aşamasında olduğundan, onunla birçok sorun yaşarsınız. Gradle desteğine ihtiyacınız yoksa, her zaman Eclipse'i deneyebilirsiniz - IDE yıllar boyunca denenmiş ve test edilmiştir, bu nedenle bir geliştirme ortamı için oldukça sağlamdır - RAM akıllıca.
ChuongPham

1
@CommonsWare Aynı şeyin Linux PC için geçerli olup olmadığını biliyor musunuz? Şimdiden teşekkürler.
Alexander Kulyakhtin

4
@PPD: Windows'ta, gereksiz araçları Yönetimsel Araçlar | Hizmetler seçeneği. Gidin msconfigve gereksiz uygulamaları kapatın Başlangıç sekmesine. Windows'ta gereksiz Görsel Efektleri kapatın. Bir Android öykünücüsü çalıştırdığınızda, özellikle güçlü bir grafik kartınız varsa Host GPU Kullan seçeneğini açın. Windows 7 geliştirme bilgisayarım var ve aşağıdakileri içeren herhangi bir zamanda sadece 2-2.5GB RAM kullanıyorum: Windows 7, Eclipse, Mozilla Firefox (eklenti yok) ve bahsettiğim Windows özelleştirme adımları. Ayrıca Fedora kullanıyorum ve Windows'dan daha az bellek kullanıyor.
ChuongPham

3
Yalnızca bir gözlem: Bazı Google Chrome sekmelerinizin açık olduğunu görebiliyorum. Sen belki o tarayıcı sekmesinde başına bir işlemi kullanmaz çünkü Firefox biraz daha az RAM kullandığını bulmak.
Sam

Yanıtlar:


224

Şu anda Android 8.1'i 6 gig RAM ile Windows 8.1 makinesinde çalıştırıyorum.

Android stüdyosunda VCS'yi devre dışı bırakmanın ve VCS'yi işlemek için harici bir program kullanmanın çok yardımcı olduğunu buldum. VCS'yi Dosya -> Ayarlar -> Eklentiler'e giderek devre dışı bırakabilir ve aşağıdakileri devre dışı bırakabilirsiniz:

  • CVS Entegrasyonu
  • Git Entegrasyonu
  • GitHub
  • Google Cloud Testing
  • Google Cloud Tools Çekirdek
  • Android Studio için Google Cloud Tools
  • hg4idea
  • Subversion Entegrasyonu
  • Mercurial Entegrasyon
  • TestNG J

18
hayır, çok küçük bir değişiklik.
krivar

5
Projeniz svn veya github gibi herhangi bir havuzla yapılandırıldığında büyük fark. yürütme bekleme sürem> 3 dakikadan <1 dakikaya düşürüldü. İnanılmaz yardım için çok teşekkürler.
Er. Kaushik Kajavadara

4
'Git Entegrasyonunu' açık tutmuş olmama rağmen bu işe yarıyor ve büyük bir fark yaratıyor. İdeal olarak Android Studio'nun varsayılan ayarlar olarak bunlara sahip olması gerekir.
Mr-IDE

3
Bu yöntemi 4GB ram ve amd X4 Cpu özellikli HP 6005 mini çanta için kullandım. tüm bu eklentileri devre dışı bıraktıktan sonra benim android stüdyo inanamıyorum çok çok hızlı açıldı. android studio başlamadan önce 15 saniye sürer ama şimdi 1 saniye içinde geliyor. teşekkürler
AN

2
Ayrıca Mercurial Integration, TestNG-J'yi devre dışı bırakın;
xiaoweiz

108

Benim durumumda, iki ana bellek hoglama kaynağı vardı: IDE ve Gradle:

Android Studio (1,5 GB'a kadar)

IDE'nin JVM'si, en fazla yığın boyutuna sahip olacak şekilde yapılandırılmıştır. Bunu ana arayüzün sağ alt köşesinde görebilirsiniz:

725M maksimum yığın boyutunu gösteren Android Studio

Sen düzenleyerek bu azaltabilir bellekle ilgili ayarları içinde dosyanın . Örneğin, maksimum yığın boyutumu 512 MB olarak değiştirdim:.vmoptions

-Xmx512m

Ne yazık ki, bu değerin düşürülmesinin, belki de çöp toplama işlemini yapmak için Android Studio'nun geçici olarak donma sıklığını artırdığını buldum.

Kepçe (1,5 GB'a kadar)

Gradle, bir süre geliştirdikten sonra çok fazla RAM kullanabilir. Windows bunu şu şekilde gösterir Java(TM) Platform SE Binary:

1.460.5 MB bellek kullanan "Java (TM Platform SE binary" yazılımını gösteren Windows 8.1 Görev Yöneticisi

Gradle JVM seçeneklerini değiştirerek bunu düzeltebilirsiniz. Bunu, aşağıdakileri düzenleyerek kullanıcı başına yapabilirsiniz gradle.properties:

  1. gradle.propertiesDosyayı açın, yoksa oluşturun:
    • Pencereler: %USERPROFILE%\.gradle\gradle.properties
    • Linux / Mac: ~/.gradle/gradle.properties
  2. org.gradle.jvmargsÖzelliği güncelleyin, gerekirse oluşturun. Bunu benimkine koydum:

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

Maksimum yığın boyutu 256 MB ( -Xmx256m) olarak ayarlanmış küçük projem için derleme performansında herhangi bir fark görmedim .

Eski Gradle işleminin öldürülmesi için Android Studio'yu yeniden başlatmanız gerekebileceğini unutmayın ; aksi takdirde her ikisinin de aynı anda çalışmasını sağlayabilirsiniz.

emülatörü

Emülatörün RAM'inizin çoğunu kaplamasıyla ilgili olarak, ekran görüntünüz yaklaşık 800 MB aldığını gösterir. Emülatöre ne kadar RAM ayıracağını seçebilirsiniz:

  1. AVD'yi düzenleyin
  2. Gelişmiş Ayarları Göster düğmesine basın
  3. RAM değerini azaltın

Android Sanal Cihaz RAM yapılandırması


SoJexy'nin cevabı ile birlikte bu, bilgisayarımdaki performansı önemli ölçüde artırdı.
Josh Larson

Bu ipuçları hayat kurtarıcıydı! Dex derleyicisi tarafından kullanılan yığın boyutunu değiştirme seçeneği de vardır, bu da bellek kullanımını daha da azaltır. Ayrıntılar: techzog.com/development/android-studio-high-ram-usage
Varun

1
Gelen .vmoptionsdosyanın diyor: *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/configurationAncak, benim sistemde bir kullanıcı belirli bir dosyayı olmak görünmüyor ve web sitesi böyle bir dosyanın başka yerleri, bu çözüm ile gitmek olacak açıklamıyor çünkü. Oh ve: MaxPermSize bir noktada kullanımdan kaldırılacak. Terminalde IDE'leri başlatırken beni hep uyarıyor.
Zelphir Kaltstahl

1
@Zelphir, hangi işletim sistemi ve Android Studio sürümünü kullanıyorsunuz? Windows'u kullanıyorum ve talimatlar dosyanın altında %USERPROFILE%kullanıcıya özgü olduğunu söylüyor . Linux'ta çok iyi değilim, ancak Mac ve Linux talimatları da dosyanın altında olduğunu söylüyor ~, ki sanırım kullanıcının ana dizini nedir? Dosya yoksa, belki sadece oluşturabilirsiniz; yukarıda belirtilen belgeler diyor Instead, you can customize the attributes by creating your own .properties or .vmoptions files in the following directories.. Cevabı güncelleyebilmem için işe yarayıp yaramadığını bana bildirir misiniz?
Sam

3
Harika öneriler! Gradle için, sorunu "kullanıcı çapında" bir şekilde düzenleyerek çözdüm ~/.gradle/gradle.properties.
Andrea Lazzarotto

51

Eclipse veya Android Studio çalışmalarınızı hızlandırabilirsiniz, şunları takip edin:

  • Tek bir projeyi aynı anda kullanma / açma
  • uygulamanızı her zaman emülatörde çalıştırdıktan sonra projenizi temizleyin
  • öykünücü yerine mobil / harici aygıt kullan
  • bir kez kullandıktan sonra emülatörü kapatmayın, her seferinde uygulamayı çalıştırmak için aynı emülatörü kullanın
  • Dosya-> Ayarlar-> Eklentileri kullanarak
    VCS'yi ve aşağıdakileri devre dışı bırakın: 1.CVS Entegrasyonu
    2.Git Entegrasyonu
    3.GitHub
    4. Android Studio için Google Cloud Araçları
    5.Subversion Entegrasyonu

Ayrıca 4 GB kurulu ana belleğe sahip Android Studio kullanıyorum, ancak bu ifadeleri takip etmek Android Studio performansımı gerçekten artırıyor.


1
Listedeki her şeyi devre dışı bıraktım. Hala aynı 1.5gb ram kullanıyor
Arshad

@ arshadkazmi42 PC'nizin yapılandırmasını söyle
KulArtist

i3, 4GB RAM, 500GB HDD
Arshad

13
Bence bu, "i3" ün yazılım işçiliğindeki başarısızlıkların sebebi olduğunu söylemek için tam bir saçmalık!
XMight

1
İ3 işlemcim> i3'ünüze meydan okumak istiyor, bu meydan okumayı kabul etmek ister misiniz? Kimse i3'ün daha yavaş veya yüksek bellek aldığını söylemeyecek ...
Sabir Hossain

28

Android Studio kısa süre önce düşük bellekli makineler için resmi bir rehber yayınladı: Rehber

Android Studio'yu önerilen özelliklerin altında bir makinede çalıştırıyorsanız (bkz. Sistem Gereksinimleri), makinenizdeki performansı artırmak için IDE'yi aşağıdaki gibi özelleştirebilirsiniz:

  • Android Studio için kullanılabilir maksimum yığın boyutunu azaltın: Android Studio için maksimum yığın boyutunu 512 MB'a düşürün.

  • Gradle'ı ve Gradle için Android eklentisini güncelleyin: Performans için en son geliştirmelerden faydalandığınızdan emin olmak için Gradle'ın en yeni sürümlerini ve Gradle için Android eklentisini güncelleyin.

  • Güç Tasarrufu Modunu Etkinleştir: Güç Tasarrufu Modunun etkinleştirilmesi, hata vurgulama ve anında denetimler, otomatik çalışma kodu tamamlama ve otomatik artımlı arka plan derleme dahil olmak üzere bellek ve pil yoğun arka plan işlemlerini kapatır. Güç Tasarrufu Modunu açmak için Dosya> Güç Tasarrufu Modu'nu tıklatın.

  • Gereksiz tiftik kontrollerini devre dışı bırakın : Android Studio'nun kodunuzda çalıştırdığı tiftik kontrollerini değiştirmek için aşağıdakileri yapın: Ayarlar iletişim kutusunu açmak için Dosya> Ayarlar'ı (Mac'te, Android Studio> Tercihler) tıklayın. Sol bölmede Editör bölümünü genişletin ve Denetimler'i tıklayın. Projenize uygun tiftik kontrollerini seçmek veya seçimini kaldırmak için onay kutularını tıklayın. Değişikliklerinizi kaydetmek için Uygula veya Tamam'ı tıklayın.

  • Fiziksel bir cihazda hata ayıklama: Emülatörde hata ayıklama, fiziksel bir cihazda hata ayıklamadan daha fazla bellek kullanır, böylece fiziksel bir cihazda hata ayıklayarak Android Studio'nun genel performansını artırabilirsiniz.

  • Yalnızca gerekli Google Play Hizmetlerini bağımlılık olarak dahil etme: Google Play Hizmetlerini projenize bağımlılık olarak dahil etmek, gerekli bellek miktarını artırır. Yalnızca bellek kullanımını ve performansını artırmak için gerekli bağımlılıkları ekleyin. Daha fazla bilgi için bkz. Projenize Google Play Hizmetleri Ekleme.

  • DEX dosyası derlemesi için kullanılabilir maksimum yığın boyutunu azaltma : DEX dosyası derlemesi için javaMaxHeapSize değerini 200m olarak ayarlayın. Daha fazla bilgi için bkz . DEX kaynaklarını yapılandırarak derleme sürelerini geliştirme .

  • Paralel derlemeyi etkinleştirmeyin : Android Studio bağımsız modülleri paralel olarak derleyebilir, ancak düşük bellek sisteminiz varsa bu özelliği açmamalısınız. Bu ayarı kontrol etmek için aşağıdakileri yapın: Ayarlar iletişim kutusunu açmak için Dosya> Ayarlar'ı (Mac'te, Android Studio> Tercihler) tıklayın. Sol bölmede Derleme, Yürütme, Dağıtım'ı genişletin ve ardından Derleyici'yi tıklatın. Bağımsız modülleri paralel olarak derle seçeneğinin işaretli olmadığından emin olun. Değişiklik yaptıysanız, değişikliğinizin geçerli olması için Uygula veya Tamam'ı tıklayın.

  • Gradle için Çevrimdışı Modu'nu açma : Sınırlı bant anahtarınız varsa, Gradle'ın derleme sırasında eksik bağımlılıkları indirmeye çalışmasını önlemek için Çevrimdışı Modu'nu açın. Çevrimdışı Modu açıkken, indirmeye çalışmak yerine herhangi bir bağımlılığınız yoksa Gradle derleme hatası verir. Çevrimdışı Modu'nu açmak için aşağıdakileri yapın:

    • Ayarlar iletişim kutusunu açmak için Dosya> Ayarlar'ı (Mac'te, Android Studio> Tercihler) tıklayın.

    • Sol bölmede Oluştur, Yürütme, Dağıtım'ı genişletin ve ardından Sınıflandır'ı tıklatın.

    • Global Gradle ayarları altında, Çevrimdışı çalışma onay kutusunu işaretleyin.

    • Değişikliklerinizin geçerli olması için Uygula veya Tamam'ı tıklayın.


16

Yukarıda Sam'in tüm önerilerini kullandım, ancak VM komut satırı seçeneklerinin artık açıklandığı gibi desteklenmediğini buldum. (Kullanıldığında bir hata aldım)

Alternatif olarak, "gradle.properties" dosyasına aşağıdaki satırı ekleyerek gradle'ı önemli ölçüde azaltabildim

org.gradle.jvmargs=-Xms512m -Xmx1024m

AS sürüm 1.3 itibariyle, dosya "gradle.build" ile aynı klasör düzeyinde bulunur.

Yukarıdaki yapılandırma 512 megabaytlık bir "bellek yığını" ve 1024 megabaytlık "bellek yığını" dır.

Bunu her iki bellek boyutunun 256 meg olarak ayarlandığı ayarları kullanarak küçük bir projede test ettim. Beklendiği gibi JVM boyutlarını sınırladı. Tüm testlerimde, JVM'yi yeniden başlamaya zorlamak için AS'yi yeniden başlattım.

Umarım bu, bu sorunla ilgilenen diğer kişilerin "Kendine daha iyi bir bilgisayar al" yanıtı almasını engelleyecektir. :-)

Dilber


Teşekkürler; Bu AS 1.3 benim için çalıştı! AS 1.3'te başka bir yol bulamadığım için cevabımdaki talimatları güncelledim.
Sam

2

Ben Android Studio 2.1.1 Bro kullanın genymotion emulator Android Marshmallow Kullanırsanız Daha Hızlı. Ve My Ram 4GB.Ve Android Studio'da genymotion için Eklenti Yükle. Android emualtor'u başlatmak için zaman harcamak yerine iyi bir sonuç göreceksiniz.


3
Sanki ücretsiz.
Ojonugwa Jude Ochalifu

Genymotion performansında daha hızlı değildir. Emulator, Ama evet bu ARM'den daha hızlı ve IntelX86 ve X64 android stüdyo emülatörlerinden çok daha hızlı başlıyor.
Mehdi-Malv

2

Gecikmeyi azaltmak için aşağıdaki adımları tavsiye ederim

benim pc özellikleri: 2 gb ram, işlemci: intel core2 duo

önce tüm arka plan işlemlerini öldürün, eğer sunucu veya veritabanınız çalışıyorsa, aşağıdaki komutlarla önce onları durdurabilirsiniz

sudo service apache2 durdurma

sudo hizmet mysql durdur

Sonra android studio'da güç tasarrufu modunu dosya> güç tasarrufu moduna göre etkinleştirin

Arka plan işlemini devre dışı bırakabilir ve sonra stüdyo iyi gidiyor gibi görünüyor


Neden etkinleştirmemiz gerektiğini anlamıyorumPower Save Mode
Morozov

Morozov, güç tasarrufu modunu etkinleştirirsek, android stüdyosunun arka plan etkinliklerini öldürür, bu nedenle performansını artıracaktır
Naveen

Evet, güç tasarrufu modu bu işlemi durdurur
Naveen

2

Android ortamını düşük yapılandırma makinesinde çalıştırmak için.

  1. Tarayıcıdaki işlenmemiş web sekmelerini kapatın
  2. Antivirüs kullanıcıları için, otomatik olarak oluşturulan derleme klasörünü hariç tutun
  3. Android stüdyosunda 1.2 Gb varsayılan yığın 512 MB'a düşebilir

Yardım> Özel VM seçeneklerini düzenleme

studio.vmoptions
 -Xmx512m

Layouts performansı hızlanacak

  1. Gradle için Android stüdyo Mkae'nin temel bileşenlerinden biri şu anda olduğu gibi 3.0beta en sonuncusu

Aşağıdaki ipuçları kod kalitesini etkileyebileceğinden lütfen dikkatli kullanın:

  1. Studio, açıldığında Güç güvenli Mod içerir , tiftik, kod tamamlamaları vb.Gibi arka plan işlemlerini kapatır.

  2. Gerektiğinde manuel olarak tiftik kontrolü yapabilirsiniz ./gradlew lint

  3. Çoğu kullanıyor ortalama 2 GB RAM tüketen Android emülatörlerini , bu nedenle mümkünse gerçek Android cihazı kullanın, bunlar bilgisayarınızdaki kaynak yükünüzü azaltacaktır. Alternatif olarak, taklitçinin RAM'ini azaltabilirsiniz ve bilgisayarınızdaki sanal bellek tüketimini otomatik olarak azaltacaktır. bunu sanal cihaz yapılandırmasında ve ilerleme ayarında bulabilirsiniz.

  4. Dereceli çevrimdışı mod , bant genişliği sınırlı kullanıcıların derleme bağımlılıklarının indirilmesini devre dışı bırakma özelliğidir . Android stüdyosunun performansını artırmaya yardımcı olacak arka plan işlemini azaltacaktır.

  5. Android stüdyosu, birden fazla modülü paralel olarak derlemek için bir optimizasyon sunar . Düşük RAM makinelerinde bu özellik muhtemelen performans üzerinde olumsuz bir etkiye sahip olacaktır . Derleyici ayarları iletişim kutusunda devre dışı bırakabilirsiniz .


"studio.vmoptions -Xmx512m" benim için Android stüdyosunu öldürdü. "JVM oluşturulamadı: hata kodu -1" artık açılmayacak. Bu değişikliği nasıl tersine çevirebilirim?
MeatPopsicle

1
Başka birinin aynı tuzağa düşmesi durumunda. C: \ Users \ <kullanıcıadı> \ .AndroidStudio <sürüm> \ config adresine gidip bir .vmoptions dosyası arayarak sorunu düzeltebilirsiniz. Eklediğiniz yapılandırma ile eşleşiyorsa, muhtemelen silmek için güvende
olursunuz


1

JVM'nizi eclipse openj9 olarak değiştirmeyi deneyin. Hafızayı daha az kullanacak. Ben takas ve sürekli 600 Mb kullanarak.


1

Bunun bir çözüm olup olmadığını bilmiyorum ama Invalidate Cache and Restartbenim durumumda bu sorunu çözdü. Şu anda Android Studio 3.6 kullanıyorum


0

Sisteminizdeki aşağıda belirtilen yolu açın ve tüm avd'lerinizi silin (Sanal cihazlar: Emulator)

C: \ Users {Kullanıcı Adı} .android \ avd

Not: - Emulator'u sadece android stüdyosundan silmek, avd'sinin kapladığı tüm alanları silmez. Bu yüzden yukarıdaki avd'leri yukarıdaki yoldan silin ve gerekirse yeni emülatör oluşturun.

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.