Android Studio - Cara meningkatkan Ukuran Heap yang Dialokasikan

118

Saya telah menggunakan Android Studio selama 3 bulan sekarang dan salah satu aplikasi yang saya mulai itu menjadi cukup besar. Penggunaan memori yang ditunjukkan di kanan bawah program mengatakan heap yang dialokasikan saya maksimal 494M.

masukkan deskripsi gambar di sini

Ketika saya mulai mengubah file XML, penggunaan memori saya dengan cepat mencapai batas itu dan IDE lumpuh dengan kesalahan Memori Habis seperti ini.

masukkan deskripsi gambar di sini

Saya sudah mencoba meningkatkan ukuran heap menggunakan ini tetapi sejauh ini tidak ada efek.

Saya telah melihat lusinan artikel dan pertanyaan lain tentang cara meningkatkan ukuran tumpukan tetapi tidak ada jawaban yang berfungsi. Tidak peduli apa yang saya lakukan pada VMOPTIONS atau pengaturan IDE, ukuran heap tidak pernah bertambah. Saya yakin saya mengedit file yang benar untuk VMOPTIONS karena jika saya sengaja memberikan perintah yang tidak valid, Android Studio akan mengeluhkannya dan tidak mulai.

Saya menggunakan windows 7-64 bit dan memiliki RAM 16GB. Adakah orang lain yang mengalami masalah ini dengan Android Studio? Dan apakah Anda bisa memperbaikinya?

zafrani
sumber
Lihat jawaban @ moxi di bawah untuk informasi terbaru tentang konfigurasi pengaturan khusus pengguna untuk memori dan studio JVM startup stackoverflow.com/a/29057416/396005
Bron Davies
1
Dokumentasi Android Studio yang diperbarui: developer.android.com/studio/intro/…
Morrison Chang

Jawaban:

136

------- EDIT --------

Android Studio 2.0 dan yang lebih baru, Anda dapat membuat / mengedit file ini dengan mengakses "Edit Opsi VM Kustom" dari menu Bantuan.

------- JAWABAN ASLI --------

Buka file yang terletak di

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

Ubah konten menjadi

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

Xmx menentukan kumpulan alokasi memori maksimum untuk Java Virtual Machine (JVM), sementara Xms menentukan kumpulan alokasi memori awal. JVM Anda akan dimulai dengan Xmsjumlah memori dan akan dapat menggunakan Xmxjumlah memori maksimum .

Simpan studio.vmoptionsfile dan mulai ulang Android Studio.

Lebih lanjut di posting ini .

catatan:

Jika Anda mengubah ukuran heap untuk IDE, Anda harus memulai ulang Android Studio sebelum pengaturan memori baru diterapkan. ( sumber )

Wesley
sumber
Ini memperbaiki masalah bagi saya pada proyek yang sangat besar di mana Android Studio akan kehabisan memori setelah 15 menit saat membangun peta simbol. Saya mengubah Xms menjadi 1024m dan Xmx menjadi 4096 dan peta simbol dibuat dalam waktu kurang dari 30 detik - jadi pengumpul sampah pasti sudah lama sekali meronta-ronta.
RikMaxSpeed
10
Sebagaimana dicatat oleh Lord Flash: Pada Android Studio 2.0, Anda dapat membuat / mengedit file ini dengan mengakses "Edit Opsi VM Kustom" dari menu Bantuan.
Lasse Magnussen
Thx, ini sangat berguna. FYI, jika Anda menggunakan versi 64bits, file yang akan diedit bernama studio64.exe.vmoptions.
Eselfar
50

Saya melihat Variabel Lingkungan saya dan memiliki Variabel Sistem yang dipanggil _JAVA_OPTIONSdengan nilai -Xms256m -Xmx512m, setelah mengubahnya ke -Xms256m -Xmx1024mukuran tumpukan maksimum yang meningkat.

zafrani
sumber
9
Tidak ada Variabel Sistem yang disebut _JAVA_OPTIONS. tetapi saya secara manual membuat yang baru dan berfungsi dengan baik. terima kasih.
Yasir Ali
Bagus, ini berhasil! Saya bertanya-tanya apakah meningkatkan ukuran heap adalah hal yang baik ... Maksud saya, ini berhasil dan tentunya dalam kasus tertentu adalah cara yang benar, tetapi apakah selalu dengan cara yang benar? Atau mungkin ada solusi yang lebih baik? Terima kasih!
Marino
apakah masalah ini juga disebabkan oleh ukuran tumpukan stackoverflow.com/questions/29148374/…
Sagar Devanga
Tidak berhasil untuk saya juga, tetapi ternyata Android Studio membiarkan beberapa proses Java menggantung dari eksekusi sebelumnya, dan semuanya jelas masih menggunakan banyak memori.
alex.magellan
48

Atau, Anda dapat pergi ke android-studio\binfolder Anda dan mengubah nilai -Xmx dan -Xms ini dalam studio.exe.vmoptionsatau studio64.exe.vmoptionsfile (tergantung versi yang Anda jalankan).

buaya
sumber
2
Ini tidak berhasil untuk saya karena variabel _JAVA_OPTIONS digunakan sebagai nilai default.
zafrani
Mengubah kedua opsi (vmoptions dan _JAVA_OPTIONS) tetapi saya masih memiliki kesalahan
Raphael Royer-Rivard
Jika Anda dengan sengaja memasukkan kesalahan sintaks ke dalam vmoptions, apakah itu merusak program saat Anda memulai ulang?
zafrani
Saya tidak yakin, tapi menurut saya seharusnya tidak. Juga, bolehkah saya bertanya mengapa Anda memasukkan kesalahan sintaks di vmoptions dengan sengaja?
buaya
32

Saya meningkatkan ingatan saya setelah dokumentasi Google berikutnya:

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

Secara default, Android Studio diberi nilai maksimum 750Mb, saya ubah menjadi 2048Mb.

Saya mencoba apa yang dijelaskan Google tetapi bagi saya satu-satunya hal yang berhasil adalah menggunakan variabel lingkungan. Saya akan menjelaskan apa yang saya lakukan:

Pertama saya membuat direktori yang saya sebut .AndroidStudioSettings,

  • mkdir .AndroidStudioSettings

Kemudian saya membuat file bernama studio.vmoptions, dan saya memasukkan konten berikut ke dalam file itu:

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

Kemudian saya menambahkan variabel lingkungan STUDIO_VM_OPTIONS di file .profile saya:

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

Kemudian saya memuat ulang .profil saya:

  • source ~/.profile

Dan akhirnya saya membuka Android Studio:

  • open /Applications/Android\ Studio.app

Dan sekarang seperti yang Anda lihat menggunakan bilah status , saya memiliki lebih dari 2000 MB yang tersedia untuk Android Studio:

masukkan deskripsi gambar di sini

Anda dapat menyesuaikan nilai-nilai Anda sesuai dengan kebutuhan Anda dalam kasus saya 2048Mb sudah cukup.

PEMBARUAN: Android Studio 2.0 memungkinkan Anda memodifikasi file ini dengan mengakses "Edit Opsi VM Kustom" dari menu Bantuan, cukup salin dan tempel variabel yang mungkin ingin Anda simpan untuk meningkatkannya untuk semua versi yang mungkin Anda miliki di komputer Anda.

moxi
sumber
Bukankah solusi ini hanya berfungsi saat membuka AS dari shell?
guy.gc
Di mana Anda mengetik perintah seperti export STUDIO_VM_OPTIONS=/Users/youruser/.AndroidStudioSettings/studio.vmoptionsdi terminal?
COYG
31

Anda tidak boleh mengedit file apa pun di direktori instalasi IDE. Sebagai gantinya, Anda dapat menyesuaikan atribut dengan membuat file .properties atau .vmoptions Anda sendiri di direktori berikut. (Ini telah dimungkinkan pada beberapa platform sebelumnya, tetapi Anda diharuskan untuk menyalin dan mengubah seluruh konten file. Dengan perubahan terbaru, properti ini sekarang menjadi aditif sehingga Anda dapat menyetel hanya atribut yang Anda pedulikan, dan yang lainnya akan menggunakan default dari instalasi IDE).

Catatan: Mulai Android Studio 2.0, Anda dapat membuat / mengedit file ini dengan mengakses file "Edit Custom VM Options" dari menu Help.

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

masukkan deskripsi gambar di sini

Tobias
sumber
12

Jika Anda menggunakan MAC BOOK , opsi ini tersedia di dalam Aplikasi -> Klik kanan Android Studio lalu pilih Tampilkan Isi Paket -> bin .

masukkan deskripsi gambar di sini

atau

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

Kemudian tingkatkan Xmxnilai

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

Sekarang Android Studio Anda akan menjadi super cepat.

Ashokchakravarthi Nagarajan
sumber
10

Android Studio 3.1 memiliki opsi untuk mengedit opsi memori virtual kustom Anda.

Anda dapat membuka Android Studio> Bantuan> Edit Opsi VM Kustom

masukkan deskripsi gambar di sini

Kemudian tempel kode pengaturan di bawah ini ke studio64.exe.vmoptions file & Simpan.

lokasi file: "\ Users \ username \ .AndroidStudio3. ** \ config \"

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops
Shihab Uddin
sumber
1
Baris terakhir itu salah - Android Studio 3.2 macet saat memulai dengan itu di sana.
CommonsWare
9

Catatan: Saya sekarang ini bukan jawaban untuk posting, tapi mungkin ini akan membantu untuk beberapa orang yang mencari.

Jika Tidak ada yang berhasil untuk Anda, coba di Mac ini untuk melihat apakah membantu Anda, di versi terakhir Android Studio, studio.vmoptions ada di dalam AndroidStudio.app di folder Aplikasi Anda.

Jadi klik kanan atau ctrl klik pada AndroidStudio.App Anda dan kemudian pilih tampilkan konten paket tempat studio.vmoptions berada:

Isi / bin / studio.vmoptions

Ganti atau ubah dan Anda akan mendapatkan semua RAM yang Anda butuhkan.

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

Salam.

Marco Antonio Uzcategui Pescoz
sumber
Anda tidak boleh mengubah file itu, tetapi yang disebutkan di sini: tools.android.com/tech-docs/configuration . Untuk Mac: ~ / Library / Preferences / {FOLDER_NAME} /studio.vmoptions
GaRRaPeTa
6

Saya mencoba hal _JAVA_OPTIONS tetapi masih tidak berhasil untuk saya.

Pada akhirnya, yang berhasil bagi saya adalah sebagai berikut:

  • Meluncurkan studio64.exe alih-alih studio.exe (Saya punya mesin 64-bit).
  • Tambahkan / Ubah nilai berikut di "studio64.exe.vmoptions":

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

Mahal, Perut
sumber
1
Melakukan hal yang persis sama seperti Anda, saya masih memiliki kesalahan Memori Habis
Raphael Royer-Rivard
Sudahkah Anda mengupdate ke versi terbaru Android Studio? Saya menggunakan Canary Channel dan saya mendapatkan 1.0 RC 4
ExpensiveBelly
Tidak, saya menggunakan 0.8.14, tapi saya menemukan penyebab kebocoran memori. Membuat warna bernama "light_gray" dan menggunakannya dalam file layout menggunakan memori tak terbatas ... "light_grey" tidak masalah.
Raphael Royer-Rivard
6

Ada banyak jawaban yang sekarang sudah ketinggalan zaman. Cara yang diinginkan untuk mengubah ukuran heap untuk Android Studio baru-baru ini berubah.

Pengguna sekarang harus membuat file vmoptions mereka sendiri di salah satu direktori berikut;

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

Isi dari file yang baru dibuat *.vmoptionsharus:

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

Untuk meningkatkan perubahan alokasi RAM -XmX750mke nilai lain.

Instruksi lengkap dapat ditemukan di sini: http://tools.android.com/tech-docs/configuration

Charles Durham
sumber
1
tetapi tidak ada file studio.vmoptionsdi jalur yang Anda sebutkan. mereka di bawah%AndroidStudioInstallationPath%\bin\studio.exe.vmoptions
Mulgard
Ini adalah jawaban yang benar. Yang lainnya sudah usang atau putus asa.
GaRRaPeTa
4

Pertama, periksa berapa banyak memori yang dialokasikan untuk studio android Anda untuk memeriksa yang mengikuti langkah-langkah ini:

File -> Pengaturan-> Penampilan & Perilaku-> Penampilan

kemudian periksa opsi indikator memori acara seperti di bawah gambar bagian yang disorot merah masukkan deskripsi gambar di sini

Dalam kasus saya, RAM saya adalah 12Gb jadi saya telah mengalokasikan memori untuk android studio 6gb. Untuk mengeditnya, ikuti langkah-langkah ini

Bantuan-> Edit opsi VM kustom

-Xmx6g

Dalam kasus saya, saya telah mengaturnya 6gb karena ram pc saya adalah 12 GB. Terserah Anda berapa banyak memori yang ingin Anda alokasikan ke studio android Anda

Hoque MD Zahidul
sumber
3

Pada Windows 7, file konfigurasi di [INSTALL-LOCATION]\bintampaknya diabaikan. Sesuai dengan dokumentasi Google berikut, file yang akan dimodifikasi harus ada di sini:%USERPROFILE%\.AndroidStudio\studio[64].exe.vmoptions

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

Aneh bahwa tidak ada file seperti itu setelah penginstalan bersih Android Studio 1.1 dari situs pengembang. Dan mereka berada di lokasi lama (diabaikan). Setelah saya menyalin file (studio.exe.vmoptions dalam kasus saya) dan memodifikasinya, perubahan akan diterapkan.

Namun, kesenangan tidak berhenti sampai di situ. Ada nilai atas -Xmxyang mungkin terkait dengan jumlah memori di sistem Anda. Aku hanya bertemu memori mesin saya dari 4Gb ke 16Gb, dan diasumsikan aku bisa mengatur -Xmxuntuk 2048m, tapi saya menemukan bahwa jika saya set ke sesuatu yang lebih besar dari 1500m,Android Studio diam-diam akan gagal untuk memulai dengan tidak ada indikasi sama sekali mengapa. Saya memiliki lebih banyak RAM dalam perjalanan, jadi akan menarik untuk melihat apakah saya dapat meningkatkan nilai pada saat itu.

Semoga informasi tambahan ini bermanfaat. Sementara semua balasan di atas tidak diragukan lagi benar pada satu titik (dan mungkin masih ada di beberapa lingkungan), saya menemukan bahwa ini adalah satu-satunya pendekatan yang meningkatkan memori yang digunakan oleh AS untuk saya.

Groovee60
sumber
2

Buka studio.vmoptions dan ubah opsi JVM

studio.vmoptions terletak di / Applications / Android \ Studio.app/bin/studio.vmoptions (Mac OS). Di mesin saya, sepertinya

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

Mengubah

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

Dan mulai ulang Android Studio

Lihat situs Android Studio lainnya

Bao Le
sumber
2

Saya temukan di Windows 7/8 (64-bit), di Android Studio 1.1.0:

[INSTALL_DIR]\bin\studio64.exe.vmoptions digunakan (jika ada), jika tidak maka akan selalu kembali ke %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions

Jika Anda ingin pengaturan dikelola dari %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions, hapus saja yang ada di direktori instalasi.

Jay Sidri
sumber
2

Masuk ke Gradle Scripts -> local.properties dan tempelkan ini

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

, jika Anda ingin mengubahnya menjadi 512. Semoga berhasil!

Rares-Mihai Chelariu
sumber
2

Anda tidak boleh mengubah file bin / studio.exe.vmoptions, yang akan diverifikasi selama penerapan tambalan pembaruan.

Solusinya ada di sini http://tools.android.com/tech-docs/configuration

salin file itu ke lokasi berikut, lalu ubah -Xmx1280m ke apa pun yang Anda inginkan.

Windows:

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

~/.{FOLDER_NAME}/idea.properties

landerlyoung
sumber
1
Lebih aman menggunakan fungsi IntelliJs / Android Studios sendiri untuk melakukannya: Buka IDE dan klik "Help" -> "Edit custom VM options"
Thommy
2

Apakah ini Xmsdan Xmxmasalah memori rendah terjadi pada saya setiap kali saya bekerja dengan XML. Saya juga mencoba meningkatkan memori ini, hanya untuk mengetahui bahwa hanya perlu waktu sedikit lebih lama untuk terulang kembali.

Setelah menjadi sangat frustrasi dan hampir memutuskan untuk mengubah semua proyek saya saat ini kembali ke Eclipse, yang tidak ingin saya lakukan, saya menemukan apa yang menyebabkannya dan dapat mengulangi kegagalan ini dan mencegahnya setiap saat.

Saat mengedit XML di (Tampilan teks), dan menggunakan tampilan render "Pratinjau", ini menyebabkan hilangnya memori, setiap saat. Menonaktifkan "Pratinjau" dan menggunakan tab Desain untuk merender layar saja, saya dapat menggunakan Android Studio sepanjang hari, tanpa crash.

Saya berharap ini bisa diperbaiki untuk selamanya, karena akan sangat menyenangkan menggunakan render "Pratinjau" saat mengedit XML, namun saya senang saya bisa tetap menggunakan Android Studio.


sumber
2

Ini adalah cara Anda mengubah ukuran heap yang saat ini ada di Android Studio 3.6.1

Di Windows di Android Studio Anda:

  1. Pilih File -> Pengaturan (popup di bawah ini akan ditampilkan)

Dialog Seting

  1. Pilih Penampilan & Perilaku
  2. Pilih Pengaturan Sistem
  3. Pilih Pengaturan Memori

Kemudian ubah pengaturan IDE Heap Size ke nilai yang Anda inginkan

Di Mac:

  1. Pilih Android Studio
  2. Pilih Preferensi

Pop up yang sama akan muncul. Namun, kali ini di Mac disebut Preferensi.

Ikuti langkah-langkah yang sama dengan Android Studio versi Windows untuk menyesuaikan ukuran heap yang diinginkan agar dialog Preferensi ditampilkan

George
sumber
1

Dapat membantu seseorang yang mendapatkan masalah ini:

Saya mengedit studio64.exe.vmoptionsfile, tetapi gagal menyimpan.

Jadi saya membuka file ini dengan Notepad ++ dalam Run as Administratormode dan kemudian berhasil disimpan.

Sayed Abolfazl Fatemi
sumber
1

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

Kamil
sumber
6
Sedikit penjelasan pasti akan meningkatkan jawaban Anda.
m02ph3u5
1

JIKA dengan mengubah atau membuat .studio.exe.vmoptionstidak berfungsi, maka coba ubahgradle.properties file dan ubah ukuran heap sesuai kebutuhan Anda.

Ini benar-benar berfungsi untuk saya di Windows 7 saya dengan RAM 4Gb dan Android Studio 2.2 menginstalnya.

Bekerja dengan baik tanpa error dan menampilkan 'Gradle Sync complete'

Dishant J
sumber
Saya harus menambahkan properti grade.properties untuk menyetel ukuran heap maksimal yang digunakan saat saya men-debug aplikasi saya. Tetapi saya harus bertanya, mengapa pengaturan studio.vmoptions seperti yang disebutkan di halaman konfigurasi Android Studio tidak berfungsi seperti yang diiklankan? Kekhawatiran saya adalah bahwa saya melakukan sesuatu yang pada dasarnya salah (tetapi tampaknya tidak seperti itu). (Terima kasih) Saya memposting pertanyaan terperinci di: stackoverflow.com/questions/40833031/…
JimCzek
1

Di Mac OSX, seseorang dapat dengan mudah mengubah ukuran heap dengan membuka item menu pertama, Android Studio> Preferensi> Pengaturan Sistem (menu kiri)> Pengaturan Memori dan mengubah ukuran heap di sana di dialog.

masukkan deskripsi gambar di sini

Hammad Khan
sumber