Android Studio - Cách tăng kích thước đống phân bổ


118

Tôi đã sử dụng Android Studio được 3 tháng rồi và một trong những ứng dụng tôi bắt đầu sử dụng nó đã trở nên khá lớn. Mức sử dụng bộ nhớ được chỉ ra ở dưới cùng bên phải của chương trình cho biết heap được cấp phát của tôi đạt tối đa 494M.

nhập mô tả hình ảnh ở đây

Khi tôi bắt đầu thay đổi các tệp XML, mức sử dụng bộ nhớ của tôi nhanh chóng đạt đến giới hạn đó và IDE gặp sự cố với lỗi Out Of Memory như thế này.

nhập mô tả hình ảnh ở đây

Tôi đã cố gắng tăng kích thước đống bằng cách sử dụng này nhưng cho đến nay vẫn không có tác dụng.

Tôi đã xem hàng tá bài báo và các câu hỏi khác về cách tăng kích thước đống nhưng không có câu trả lời nào hoạt động. Bất kể tôi làm gì với VMOPTIONS hoặc cài đặt IDE, kích thước đống không bao giờ tăng. Tôi tin rằng tôi đang chỉnh sửa tệp chính xác cho VMOPTIONS vì nếu tôi cố tình cung cấp cho nó một lệnh không hợp lệ, Android Studio sẽ phàn nàn về nó và không khởi động.

Tôi đang sử dụng windows 7 - 64 bit và có RAM 16GB. Có ai khác gặp sự cố này với Android Studio không? Và bạn đã có thể sửa chữa nó?


Xem câu trả lời của @ moxi bên dưới để biết thông tin cập nhật nhất về cách định cấu hình cài đặt dành riêng cho người dùng cho bộ nhớ và studio khởi động JVM stackoverflow.com/a/29057416/396005
Bron Davies

1
Tài liệu Android Studio cập nhật: developer.android.com/studio/intro/…
Morrison Chang

Câu trả lời:


136

-------BIÊN TẬP--------

Android Studio 2.0 trở lên, bạn có thể tạo / chỉnh sửa tệp này bằng cách truy cập "Chỉnh sửa Tùy chọn VM Tùy chỉnh" từ menu Trợ giúp.

------- CÂU TRẢ LỜI GỐC --------

Mở tệp nằm ở

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

Thay đổi nội dung thành

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

Xmxchỉ định nhóm cấp phát bộ nhớ tối đa cho Máy ảo Java (JVM), trong khi Xmschỉ định nhóm cấp phát bộ nhớ ban đầu. JVM của bạn sẽ được bắt đầu với dung Xmslượng bộ nhớ và sẽ có thể sử dụng tối đaXmx lượng bộ nhớ.

Lưu studio.vmoptions tệp và khởi động lại Android Studio.

Thêm tại bài đăng này .

Ghi chú:

Nếu bạn đã thay đổi kích thước heap cho IDE, bạn phải khởi động lại Android Studio trước khi áp dụng cài đặt bộ nhớ mới. ( nguồn )


Điều này đã khắc phục sự cố cho tôi trong một dự án rất lớn trong đó Android Studio sẽ hết bộ nhớ sau 15 phút trong khi xây dựng bản đồ ký hiệu. Tôi đã thay đổi Xms thành 1024m và Xmx thành 4096 và bản đồ ký hiệu được xây dựng trong vòng chưa đầy 30 giây - vì vậy, bộ thu gom rác phải đã hoạt động trong một thời gian dài.
RikMaxSpeed

10
Theo lưu ý của Lord Flash: Kể từ Android Studio 2.0, bạn có thể tạo / chỉnh sửa tệp này bằng cách truy cập "Chỉnh sửa Tùy chọn VM Tùy chỉnh" từ menu Trợ giúp.
Lasse Magnussen

Thx, nó rất hữu ích. FYI, nếu bạn sử dụng phiên bản 64bits, tệp cần chỉnh sửa có tên là studio64.exe.vmoptions.
Eselfar

50

Tôi đã xem xét Biến môi trường của mình và có một Biến hệ thống được gọi _JAVA_OPTIONSvới giá trị -Xms256m -Xmx512m, sau khi thay đổi giá trị này thành -Xms256m -Xmx1024mkích thước đống tối đa sẽ tăng lên tương ứng.


9
Không có Biến hệ thống nào được gọi là _JAVA_OPTIONS. nhưng tôi đã tạo thủ công mới và nó hoạt động tốt. thanx.
Yasir Ali

Tốt, điều này hoạt động! Tôi đang tự hỏi liệu tăng kích thước đống có phải là một điều tốt ... Ý tôi là, nó hoạt động và chắc chắn trong một số trường hợp là đúng cách, nhưng liệu nó có phải luôn đúng cách không? Hoặc có thể có giải pháp tốt hơn? Cảm ơn!
Marino

có phải sự cố này cũng do kích thước đống stackoverflow.com/questions/29148374/…
Sagar Devanga

Nó cũng không hoạt động với tôi, nhưng hóa ra Android Studio đã để một số quy trình Java bị treo từ các lần thực thi trước đó và tất cả chúng rõ ràng vẫn đang sử dụng rất nhiều bộ nhớ.
alex.magellan

48

Hoặc, bạn có thể đi tới android-studio\binthư mục của mình và thay đổi các giá trị -Xmx và -Xms này trong studio.exe.vmoptionshoặc studio64.exe.vmoptionscác tệp (tùy thuộc vào phiên bản bạn đang chạy).


2
Điều này không hiệu quả với tôi vì biến _JAVA_OPTIONS đang được sử dụng làm giá trị mặc định.
zafrani

Đã thay đổi cả hai tùy chọn (vmoptions và _JAVA_OPTIONS) nhưng tôi vẫn gặp lỗi
Raphael Royer-Rivard

Nếu bạn cố tình nhập một lỗi cú pháp vào vmoptions, nó có làm hỏng chương trình khi bạn khởi động lại không?
zafrani

Tôi không chắc, nhưng tôi nghĩ không nên. Ngoài ra, tôi có thể hỏi tại sao bạn lại cố tình nhập lỗi cú pháp trong vmoptions?
croc


32

Tôi đã tăng trí nhớ của mình theo tài liệu Google tiếp theo:

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

Theo mặc định, Android Studio được gán tối đa 750Mb, tôi đã thay đổi thành 2048Mb.

Tôi đã thử những gì google mô tả nhưng đối với tôi điều duy nhất mà nó hoạt động là sử dụng một biến môi trường. Tôi sẽ mô tả những gì tôi đã làm:

Đầu tiên, tôi tạo một thư mục mà tôi gọi là .AndroidStudioSettings,

  • mkdir .AndroidStudioSettings

Sau đó, tôi tạo một tệp có tên là studio.vmoptions và tôi đưa vào tệp đó nội dung sau:

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

Sau đó, tôi đã thêm các biến môi trường STUDIO_VM_OPTIONS trong tệp .profile của mình:

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

Sau đó, tôi tải lại .profile của mình:

  • source ~/.profile

Và cuối cùng tôi mở Android Studio:

  • open /Applications/Android\ Studio.app

Và bây giờ như bạn có thể thấy bằng cách sử dụng thanh trạng thái , tôi có hơn 2000 MB cho Android Studio:

nhập mô tả hình ảnh ở đây

Bạn có thể tùy chỉnh các giá trị của mình theo nhu cầu của bạn trong trường hợp của tôi 2048Mb là đủ.

CẬP NHẬT: Android Studio 2.0 cho phép bạn sửa đổi tệp này bằng cách truy cập "Chỉnh sửa Tùy chọn VM Tùy chỉnh" từ menu Trợ giúp, chỉ cần sao chép và dán các biến bạn có thể muốn giữ để tăng nó cho phiên bản mà bạn có thể có trên hộp của mình.


Giải pháp này sẽ không hoạt động chỉ khi mở AS từ trình bao?
guy.gc

Bạn đang gõ các lệnh chẳng hạn như export STUDIO_VM_OPTIONS=/Users/youruser/.AndroidStudioSettings/studio.vmoptionstrong thiết bị đầu cuối ở đâu?
COYG

31

Bạn không nên chỉnh sửa bất kỳ tệp nào trong thư mục cài đặt IDE. Thay vào đó, bạn có thể tùy chỉnh các thuộc tính bằng cách tạo tệp .properties hoặc .vmoptions của riêng bạn trong các thư mục sau. (Điều này đã có thể thực hiện được trên một số nền tảng trước đây, nhưng nó yêu cầu bạn phải sao chép và thay đổi toàn bộ nội dung của tệp. Với những thay đổi mới nhất, các thuộc tính này giờ đây là tính năng bổ sung để bạn có thể chỉ đặt các thuộc tính bạn quan tâm và phần còn lại sẽ sử dụng các giá trị mặc định từ cài đặt IDE).

Lưu ý: Kể từ Android Studio 2.0, bạn có thể tạo / chỉnh sửa tệp này bằng cách truy cập tệp "Chỉnh sửa Tùy chọn VM Tùy chỉnh" từ menu Trợ giúp.

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

nhập mô tả hình ảnh ở đây


12

Nếu bạn đang sử dụng MAC BOOK , tùy chọn này có sẵn bên trong Ứng dụng -> Nhấp chuột phải vào Android Studio, sau đó chọn Hiển thị nội dung Gói -> bin .

nhập mô tả hình ảnh ở đây

hoặc là

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

Sau đó tăng Xmxgiá trị

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

Giờ đây, Android Studio của bạn sẽ hoạt động cực nhanh.


10

Android Studio 3.1 có tùy chọn để chỉnh sửa các tùy chọn bộ nhớ ảo tùy chỉnh của bạn.

Bạn có thể vào Android Studio> Trợ giúp> Chỉnh sửa Tùy chọn VM tùy chỉnh

nhập mô tả hình ảnh ở đây

Sau đó dán mã cài đặt bên dưới vào studio64.exe.vmoptions tệp & Lưu nó.

vị trí tệp: "\ Users \ tên người dùng \ .AndroidStudio3. ** \ config \"

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

1
Dòng cuối cùng đó là sai - Android Studio 3.2 bị treo khi khởi động với nó ở đó.
CommonsWare

9

Lưu ý: Tôi bây giờ đây không phải là câu trả lời cho bài đăng, nhưng có thể điều này sẽ hữu ích cho một số người đang tìm kiếm.

Nếu không có gì trong số này phù hợp với bạn, hãy thử trên máy Mac để xem liệu có giúp được bạn không, trong phiên bản Android Studio mới nhất, studio.vmoptions nằm bên trong AndroidStudio.app trong thư mục Ứng dụng của bạn.

Vì vậy, nhấp chuột phải hoặc nhấp ctrl vào AndroidStudio.App của bạn và sau đó chọn hiển thị nội dung gói mà studio.vmoptions có trong:

Contents / bin / studio.vmoptions

Thay thế hoặc thay đổi nó và bạn sẽ nhận được tất cả RAM bạn cần.

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Trân trọng.


Bạn không nên thay đổi tệp đó, nhưng tệp được nêu ở đây: tools.android.com/tech-docs/configuration . Đối với Mac: ~ / Library / Preferences / {FOLDER_NAME} /studio.vmoptions
GaRRaPeTa

6

Tôi đã thử điều _JAVA_OPTIONS nhưng nó vẫn không hoạt động với tôi.

Cuối cùng, những gì làm việc cho tôi là như sau:

  • Khởi chạy studio64.exe thay vì studio.exe (Tôi có một máy 64-bit).
  • Thêm / Thay đổi các giá trị sau trong "studio64.exe.vmoptions":

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


1
Đã làm giống hệt như bạn, tôi vẫn gặp lỗi
Mất

Bạn đã cập nhật lên phiên bản Android Studio mới nhất chưa? Tôi đang sử dụng Canary Channel và tôi đã có 1.0 RC 4
ExpensiveBelly

Không, tôi đang sử dụng 0.8.14, nhưng tôi đã tìm ra nguyên nhân gây rò rỉ bộ nhớ. Tạo một màu có tên "light_gray" và sử dụng nó trong tệp bố cục sử dụng bộ nhớ vô hạn ... "light_grey" là ok.
Raphael Royer-Rivard

6

Có rất nhiều câu trả lời bây giờ đã lỗi thời. Cách thay đổi kích thước heap mong muốn cho Android Studio gần đây đã thay đổi.

Người dùng bây giờ nên tạo tệp vmoptions của riêng họ trong một trong các thư mục sau;

Các cửa sổ: %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions

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

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

Nội dung của *.vmoptionstệp mới tạo phải là:

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

Để tăng phân bổ RAM thay đổi -XmX750mthành giá trị khác.

Hướng dẫn đầy đủ có thể được tìm thấy tại đây: http://tools.android.com/tech-docs/configuration


1
nhưng không có tệp studio.vmoptionsở đường dẫn bạn đã đề cập. họ đang ở dưới%AndroidStudioInstallationPath%\bin\studio.exe.vmoptions
Mulgard

Đây là câu trả lời đúng. Những người khác đã lỗi thời hoặc không khuyến khích.
GaRRaPeTa

4

Trước tiên, hãy kiểm tra lượng bộ nhớ được phân bổ cho studio android của bạn để kiểm tra xem hãy làm theo các bước sau:

Tệp -> Cài đặt-> Giao diện & Hành vi-> Giao diện

sau đó kiểm tra tùy chọn hiển thị chỉ báo bộ nhớ như hình ảnh bên dưới phần được đánh dấu màu đỏ nhập mô tả hình ảnh ở đây

Trong trường hợp của tôi, RAM của tôi là 12Gb vì vậy tôi đã cấp phát bộ nhớ cho android studio 6gb. Để chỉnh sửa, hãy làm theo các bước sau

Trợ giúp-> Chỉnh sửa các tùy chọn VM tùy chỉnh

-Xmx6g

Trong trường hợp của tôi, tôi đã đặt nó là 6gb vì ram máy tính của tôi là 12 GB. Tùy thuộc vào bạn bao nhiêu bộ nhớ bạn muốn phân bổ cho studio Android của mình


3

Trên Windows 7, các tệp cấu hình tại [INSTALL-LOCATION]\bindường như bị bỏ qua. Theo tài liệu sau của Google, tệp được sửa đổi phải ở đây:%USERPROFILE%\.AndroidStudio\studio[64].exe.vmoptions

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

Kỳ lạ là không có tệp nào như vậy khi cài đặt Android Studio 1.1 sạch từ trang web của nhà phát triển. Và chúng ở vị trí cũ (bị bỏ qua). Sau khi tôi sao chép tệp (studio.exe.vmoptions trong trường hợp của tôi) và sửa đổi nó, thay đổi sẽ được tôn trọng.

Tuy nhiên, niềm vui không dừng lại ở đó. Giá trị trên -Xmxcó thể liên quan đến dung lượng bộ nhớ trong hệ thống của bạn. Tôi vừa tăng bộ nhớ của máy từ 4Gb lên 16Gb và cho rằng tôi có thể đặt -Xmxthành 2048m, nhưng tôi thấy rằng nếu tôi đặt nó thành bất kỳ thứ gì lớn hơn1500m, Android Studio sẽ không khởi chạy mà không có dấu hiệu nào về lý do. Tôi có nhiều RAM hơn trên đường đi, vì vậy sẽ rất thú vị để xem liệu tôi có thể tăng giá trị tại thời điểm đó hay không.

Tôi hy vọng thông tin bổ sung này là hữu ích. Mặc dù tất cả các câu trả lời trên chắc chắn là đúng tại một thời điểm (và có thể vẫn còn trong một số môi trường), tôi thấy rằng đây là cách tiếp cận duy nhất giúp tăng bộ nhớ mà AS sử dụng cho tôi.


2

Mở studio.vmoptions và thay đổi các tùy chọn JVM

studio.vmoptions đặt tại / Applications / Android \ Studio.app/bin/studio.vmoptions (Mac OS). Trong máy của tôi, nó giống như

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

Thay đổi thành

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

Và khởi động lại Android Studio

Xem thêm trang web Android Studio


2

Tôi đã tìm thấy trên Windows 7/8 (64-bit), kể từ Android Studio 1.1.0:

[INSTALL_DIR]\bin\studio64.exe.vmoptions được sử dụng (nếu nó tồn tại), nếu không nó sẽ luôn quay trở lại %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions

Nếu bạn muốn cài đặt được quản lý từ đó %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions, chỉ cần xóa cài đặt trong thư mục cài đặt.


2

Chuyển đến Gradle Scripts -> local.properties và dán nó vào

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

, nếu bạn muốn thay đổi nó thành 512. Hy vọng nó hoạt động!


2

bạn không được sửa đổi tệp bin / studio.exe.vmoptions, tệp này sẽ được xác minh trong quá trình áp dụng bản vá cập nhật.

Các giải pháp có tại đây http://tools.android.com/tech-docs/configuration

sao chép tệp đó vào vị trí sau, sau đó thay đổi -Xmx1280m thành bất kỳ thứ gì bạn muốn.

Các cửa sổ:

%USERPROFILE%\.{FOLDER_NAME}\studio.exe.vmoptions và / hoặc %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 và / hoặc ~/.{FOLDER_NAME}/studio64.vmoptions

~/.{FOLDER_NAME}/idea.properties


1
Nó là an toàn hơn để sử dụng IntelliJs / Android Studios chức năng riêng để làm điều đó: Mở IDE một nhấp chuột "Trợ giúp" -> "tùy chọn Chỉnh sửa tùy chỉnh VM"
Thommy

2

Thăm này XmsXmxvấn đề bộ nhớ thấp xảy ra với tôi bất cứ lúc nào tôi đã làm việc với XML. Tôi cũng đã thử tăng trí nhớ này, nhưng chỉ mất một chút thời gian nữa là nó lại xảy ra.

Sau khi rất thất vọng và gần như quyết định chuyển đổi tất cả các dự án hiện tại của tôi trở lại Eclipse, điều mà tôi không muốn làm, tôi đã tìm ra nguyên nhân gây ra nó và có thể lặp lại lỗi này và ngăn chặn nó mỗi lần.

Trong khi chỉnh sửa XML trong (Dạng xem văn bản) và sử dụng dạng xem kết xuất "Xem trước", điều này gây ra mất bộ nhớ, mọi lúc. Tắt "Xem trước" và sử dụng tab Thiết kế để chỉ hiển thị màn hình, tôi có thể sử dụng Android Studio cả ngày mà không gặp sự cố.

Tôi ước điều này có thể được khắc phục cho tốt, vì sẽ rất tuyệt khi sử dụng kết xuất "Xem trước" trong khi chỉnh sửa XML, tuy nhiên, tôi rất vui vì có thể tiếp tục sử dụng Android Studio.


2

Đây là cách bạn thay đổi kích thước heap hiện có trong Android Studio 3.6.1

Trên Windows trong Android Studio của bạn:

  1. Chọn Tệp -> Cài đặt (cửa sổ bật lên bên dưới sẽ hiển thị)

Hộp thoại Cài đặt

  1. Chọn Giao diện & Hành vi
  2. Chọn Cài đặt Hệ thống
  3. Chọn Cài đặt Bộ nhớ

Sau đó, thay đổi cài đặt IDE Heap Size thành giá trị mong muốn của bạn

Trên Mac:

  1. Chọn Android Studio
  2. Chọn Tùy chọn

Cửa sổ bật lên tương tự sẽ xuất hiện. Tuy nhiên, lần này trên Mac, nó được gọi là Preferences.

Làm theo các bước tương tự như phiên bản Windows của Android Studio để điều chỉnh kích thước heap mong muốn Hộp thoại Preferences đã được hiển thị


1

Có thể giúp ai đó gặp sự cố này:

Tôi chỉnh sửa studio64.exe.vmoptionstệp, nhưng không lưu được.

Vì vậy, tôi đã mở tệp này bằng Notepad ++ ở Run as Administratorchế độ và sau đó lưu thành công.


1

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


6
Một chút giải thích chắc chắn sẽ cải thiện câu trả lời của bạn.
m02ph3u5

1

NẾU bằng cách thay đổi hoặc tạo .studio.exe.vmoptionskhông hoạt động, sau đó hãy thử thay đổi gradle.propertiestệp và thay đổi kích thước đống theo yêu cầu của bạn.

Nó thực sự hiệu quả với tôi trên Windows 7 với RAM 4Gb và cài đặt Android Studio 2.2 trên đó.

Hoạt động bình thường không có lỗi và hiển thị 'Đồng bộ hóa Gradle hoàn thành'


Tôi đã phải thêm một grade.properties để đặt kích thước heap tối đa được sử dụng khi tôi gỡ lỗi ứng dụng của mình. Nhưng tôi phải hỏi, tại sao cài đặt studio.vmoptions như đã đề cập trong trang cấu hình Android Studio không hoạt động như quảng cáo? Mối quan tâm của tôi là tôi đang làm điều gì đó sai về cơ bản (nhưng chắc chắn là không giống như vậy). (Cảm ơn) Tôi đã đăng một câu hỏi chi tiết tại: stackoverflow.com/questions/40833031/…
JimCzek

1

Trên Mac OSX, người ta có thể dễ dàng thay đổi kích thước heap bằng cách đi tới mục menu đầu tiên, Android Studio> tùy chọn> Cài đặt hệ thống (menu bên trái)> Cài đặt bộ nhớ và thay đổi kích thước heap ở đó trong hộp thoại.

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.