Studio Android chiếm quá nhiều bộ nhớ


175

Tôi đã cài đặt Android Studio 1.0 RC 2. Tôi đã cài đặt 4GB RAM, nhưng sau khi khởi động Android Studio và khởi chạy Trình giả lập Android, hơn 90% bộ nhớ vật lý chỉ được sử dụng bởi hai thứ này. Có cách nào để giảm sử dụng bộ nhớ này không? Do vấn đề bộ nhớ này, tôi không thể mở các ứng dụng khác cùng một lúc. nhập mô tả hình ảnh ở đây


17
Sử dụng Eclipse hoặc Android Studio và trình giả lập, trên máy phát triển Windows 4GB sẽ rất đau đớn. Tôi sẽ mạnh mẽ khuyên bạn nên nâng cấp RAM máy phát triển của bạn (8GB trở lên), thử nghiệm trên một thiết bị (thay vì một giả lập), hoặc bỏ qua IDE và làm phát triển bằng cách sử dụng một trình soạn thảo đơn giản và các công cụ dòng lệnh.
CommonsWare

2
Tôi đoán bạn đang sử dụng Windows đánh giá bằng ảnh chụp màn hình bạn đã đăng. Nhưng phiên bản nào của Windows? Ngoài ra, vì Android Studio vẫn còn ở giai đoạn sơ khai, bạn sẽ gặp nhiều vấn đề với nó. Nếu bạn không cần hỗ trợ Gradle, bạn luôn có thể dùng thử Eclipse - IDE đã được thử và kiểm tra qua nhiều năm, vì vậy nó khá chắc chắn cho môi trường phát triển - RAM khôn ngoan.
ChuongPham

1
@CommonsWare Bạn có biết điều tương tự có đúng với PC Linux không? Cảm ơn trước.
Alexander Kulyakhtin

4
@PPD: Trong Windows, tắt các dịch vụ không cần thiết thông qua Công cụ quản trị | Tùy chọn dịch vụ . Chuyển đến msconfigvà tắt các ứng dụng không cần thiết trong tab Khởi động . Tắt hiệu ứng hình ảnh không cần thiết trong Windows. Khi bạn chạy trình giả lập Android, hãy bật tùy chọn Sử dụng GPU máy chủ đặc biệt nếu bạn có thẻ đồ họa mạnh. Tôi có PC phát triển Windows 7 và tôi chỉ sử dụng 2-2,5GB RAM bất kỳ lúc nào bao gồm: Windows 7, Eclipse, Mozilla Firefox (không có tiện ích bổ sung) và các bước tùy chỉnh Windows tôi vừa đề cập. Tôi cũng sử dụng Fedora và nó sử dụng ít bộ nhớ hơn Windows.
ChuongPham

3
Chỉ cần quan sát: Tôi có thể thấy bạn có một số tab Google Chrome đang mở. Bạn có thể thấy rằng Firefox sử dụng ít RAM hơn một chút vì nó không sử dụng quy trình trên mỗi tab trình duyệt.
Sam

Câu trả lời:


224

Tôi hiện đang chạy Android Studio trên máy Windows 8.1 với 6 hợp đồng RAM.

Tôi thấy rằng việc vô hiệu hóa VCS trong studio android và sử dụng một chương trình bên ngoài để xử lý VCS đã giúp ích rất nhiều. Bạn có thể tắt VCS bằng cách đi tới Tệp -> Cài đặt -> Plugin và tắt tính năng sau:

  • Tích hợp CVS
  • Tích hợp Git
  • GitHub
  • Kiểm tra Google Cloud
  • Lõi công cụ đám mây của Google
  • Google Cloud Tools cho Android Studio
  • hg4idea
  • Tích hợp lật đổ
  • Tích hợp Mercurial
  • TestNG-J

18
không, thay đổi rất nhỏ
krivar

5
Sự khác biệt lớn khi dự án của bạn được cấu hình với bất kỳ kho lưu trữ nào như svn hoặc github. thời gian chờ thực hiện của tôi giảm từ> 3 phút xuống <1 phút. Cảm ơn rất nhiều vì sự giúp đỡ tuyệt vời.
Ơ. Kaushik Kajavadara

4
Điều này có vẻ hiệu quả và tạo ra sự khác biệt lớn, mặc dù tôi vẫn bật 'Tích hợp Git'. Android Studio lý tưởng nên có những cài đặt này làm cài đặt mặc định.
Mr-IDE

3
Tôi đã sử dụng phương pháp này cho vỏ máy mini HP 6005 với ram 4GB và amd X4 Cpu. Sau khi hủy tất cả các plugin này, studio android của tôi đã mở rất nhanh, tôi không thể tin được. trước khi bắt đầu studio android mất 15 giây nhưng bây giờ nó xuất hiện sau 1 giây. cảm ơn
AN

2
Đồng thời vô hiệu hóa Tích hợp Mercurial, TestNG-J;
xiaoweiz

108

Trong trường hợp của tôi, có hai nguồn lưu trữ bộ nhớ chính: IDE và Gradle:

Studio Android (tối đa 1,5 GB)

JVM của IDE được cấu hình để có kích thước heap tối đa. Bạn có thể thấy điều này ở góc dưới bên phải của giao diện chính:

Android Studio hiển thị kích thước heap tối đa 725M

Bạn có thể giảm điều này bằng cách chỉnh sửa các thiết lập bộ nhớ liên quan đến trong các .vmoptionstập tin . Ví dụ: tôi đã thay đổi kích thước heap tối đa của mình thành 512MB:

-Xmx512m

Thật không may, tôi thấy rằng việc giảm giá trị này làm tăng tần suất đóng băng tạm thời của Android Studio, có lẽ để thực hiện bộ sưu tập rác của nó.

Lớp (tối đa 1,5 GB)

Gradle cũng có thể sử dụng rất nhiều RAM sau khi phát triển một thời gian. Windows chỉ hiển thị nó như Java(TM) Platform SE Binarysau:

Trình quản lý tác vụ Windows 8.1 hiển thị "Java (nhị phân TM Platform SE" sử dụng bộ nhớ 1.460,5 MB

Bạn có thể sửa lỗi này bằng cách thay đổi các tùy chọn Gradle JVM. Bạn có thể làm điều này trên cơ sở mỗi người dùng bằng cách chỉnh sửa gradle.properties:

  1. Mở gradle.propertiestệp, tạo tệp nếu nó không tồn tại:
    • Các cửa sổ: %USERPROFILE%\.gradle\gradle.properties
    • Linux / Mac: ~/.gradle/gradle.properties
  2. Cập nhật org.gradle.jvmargstài sản, tạo ra nó nếu cần thiết. Tôi đặt cái này cho cái này:

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

Tôi không nhận thấy bất kỳ sự khác biệt nào về hiệu suất xây dựng cho dự án nhỏ của mình với kích thước heap tối đa được đặt thành 256MB ( -Xmx256m).

Lưu ý rằng bạn có thể cần phải khởi động lại Android Studio để quá trình Gradle cũ bị hủy; nếu không, bạn có thể kết thúc với cả hai chạy cùng một lúc.

Giả lập

Về trình giả lập chiếm rất nhiều RAM của bạn, ảnh chụp màn hình của bạn cho thấy nó chiếm khoảng 800 MB. Bạn có thể chọn phân bổ bao nhiêu RAM cho trình giả lập:

  1. Chỉnh sửa AVD
  2. Nhấn Hiện cài đặt nâng cao
  3. Giảm giá trị của RAM

Cấu hình RAM thiết bị ảo Android


Điều này kết hợp với câu trả lời của SoJex tăng hiệu suất đáng kể trên máy tính của tôi.
Josh Larson

Những lời khuyên này là một cứu tinh! Ngoài ra còn có một tùy chọn để thay đổi kích thước heap được sử dụng bởi trình biên dịch dex, điều này làm giảm thêm việc sử dụng bộ nhớ. Chi tiết: techzog.com/development/android-studio-high-ram-usage
Varun

1
Trong .vmoptionstệp có ghi: *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/configurationTuy nhiên, vì dường như không có tệp cụ thể của người dùng trên hệ thống của tôi và trang web không giải thích bất kỳ vị trí nào khác của tệp đó, tôi sẽ đi theo giải pháp này. Oh và: MaxPermSize sẽ không được chấp nhận tại một số điểm. Nó luôn cảnh báo tôi về điều đó khi khởi động IDE trong thiết bị đầu cuối.
Zelphir Kaltstahl

1
@Zelphir, bạn đang sử dụng phiên bản HĐH và Android Studio nào? Tôi đang sử dụng Windows và các hướng dẫn cho biết tệp nằm dưới %USERPROFILE%, dành riêng cho người dùng. Tôi không giỏi về Linux, nhưng các hướng dẫn của Mac và Linux cũng nói rằng tệp nằm dưới ~, mà tôi đoán là thư mục chính của người dùng? Nếu tệp không có mặt, có lẽ bạn chỉ cần tạo nó; các tài liệu được đề cập ở trên nói Instead, you can customize the attributes by creating your own .properties or .vmoptions files in the following directories.. Bạn có thể cho tôi biết nếu nó hoạt động để tôi có thể cập nhật câu trả lời?
Sam

3
Gợi ý tuyệt vời! Đối với Gradle, tôi đã giải quyết vấn đề theo cách "toàn người dùng" bằng cách chỉnh sửa ~/.gradle/gradle.properties.
Andrea Lazzarotto

51

Bạn có thể tăng tốc công việc Eclipse hoặc Android Studio của mình, bạn chỉ cần làm theo các cách sau:

  • Sử dụng / mở một dự án tại một thời điểm
  • làm sạch dự án của bạn sau khi chạy ứng dụng của bạn trong trình giả lập mỗi lần
  • sử dụng thiết bị di động / bên ngoài thay vì trình giả lập
  • không đóng trình giả lập sau khi sử dụng một lần, sử dụng cùng một trình giả lập để chạy ứng dụng mỗi lần
  • Vô hiệu hóa VCS bằng cách sử dụng Tệp-> Cài
    đặt- > Plugin và tắt các thứ sau: Tích hợp
    1.CVS 2. Tích hợp
    3.GitHub
    4. Công cụ đám mây của Google cho Android Studio
    5. Tích hợp chuyển đổi

Tôi cũng đang sử dụng Android Studio với bộ nhớ chính được cài đặt 4 GB nhưng làm theo những tuyên bố này thực sự giúp tăng hiệu suất Android Studio của tôi.


1
Tôi đã vô hiệu hóa tất cả những thứ trong danh sách. Tuy nhiên, nó sử dụng cùng khoảng 1,5gb ram
Arshad

@ arshadkazmi42 cho tôi biết cấu hình của PC của bạn
KulArtist

i3, RAM 4GB, ổ cứng 500GB
Arshad

13
Tôi nghĩ rằng đây là một điều hoàn toàn vô nghĩa khi nói rằng "i3" là nguyên nhân của những thất bại trong nghề thủ công phần mềm!
XMight

1
Bộ xử lý i3 của tôi muốn thử thách> i3 của bạn, bạn có muốn chấp nhận thử thách này không? Không ai sẽ nói i3 gây ra sự chậm chạp hoặc chiếm bộ nhớ cao ...
Sabir Hossain

28

Android Studio gần đây đã xuất bản một hướng dẫn chính thức cho các máy có bộ nhớ thấp: Hướng dẫn

Nếu bạn đang chạy Android Studio trên máy có ít thông số kỹ thuật được đề xuất (xem Yêu cầu hệ thống), bạn có thể tùy chỉnh IDE để cải thiện hiệu suất trên máy của mình, như sau:

  • Giảm kích thước heap tối đa có sẵn cho Android Studio : Giảm kích thước heap tối đa cho Android Studio xuống 512Mb.

  • Cập nhật Gradle và plugin Android cho Gradle : Cập nhật lên các phiên bản mới nhất của Gradle và plugin Android cho Gradle để đảm bảo bạn đang tận dụng những cải tiến mới nhất về hiệu suất.

  • Bật Chế độ tiết kiệm năng lượng : Kích hoạt Chế độ tiết kiệm năng lượng sẽ tắt một số thao tác chạy nền tốn bộ nhớ và pin, bao gồm đánh dấu lỗi và kiểm tra nhanh, hoàn thành mã tự động và biên dịch nền tăng dần tự động. Để bật Chế độ tiết kiệm năng lượng, bấm vào Tệp> Chế độ tiết kiệm năng lượng.

  • Vô hiệu hóa kiểm tra lint không cần thiết : Để thay đổi kiểm tra lint nào Android Studio chạy trên mã của bạn, hãy tiến hành như sau: Nhấp vào Tệp> Cài đặt (trên Mac, Android Studio> Tùy chọn) để mở hộp thoại Cài đặt. Trong ngăn bên trái, mở rộng phần Trình chỉnh sửa và bấm Kiểm tra. Nhấp vào các hộp kiểm để chọn hoặc bỏ chọn kiểm tra lint cho phù hợp với dự án của bạn. Nhấp vào Áp dụng hoặc OK để lưu các thay đổi của bạn.

  • Gỡ lỗi trên thiết bị vật lý : Gỡ lỗi trên trình giả lập sử dụng nhiều bộ nhớ hơn so với gỡ lỗi trên thiết bị vật lý, do đó bạn có thể cải thiện hiệu suất tổng thể cho Android Studio bằng cách gỡ lỗi trên thiết bị vật lý.

  • Chỉ bao gồm các Dịch vụ Google Play cần thiết làm phụ thuộc : Bao gồm Dịch vụ Google Play vì các phụ thuộc trong dự án của bạn làm tăng dung lượng bộ nhớ cần thiết. Chỉ bao gồm các phụ thuộc cần thiết để cải thiện việc sử dụng bộ nhớ và hiệu suất. Để biết thêm thông tin, hãy xem Thêm Dịch vụ Google Play vào Dự án của bạn.

  • Giảm kích thước heap tối đa có sẵn để biên dịch tệp DEX : Đặt javaMaxHeapSize cho biên dịch tệp DEX thành 200m. Để biết thêm thông tin, hãy xem Cải thiện thời gian xây dựng bằng cách định cấu hình tài nguyên DEX .

  • Không cho phép biên dịch song song : Android Studio có thể biên dịch song song các mô-đun độc lập, nhưng nếu bạn có hệ thống bộ nhớ thấp, bạn không nên bật tính năng này. Để kiểm tra cài đặt này, hãy tiến hành như sau: Nhấp vào Tệp> Cài đặt (trên Mac, Android Studio> Tùy chọn) để mở hộp thoại Cài đặt. Trong ngăn bên trái, mở rộng Xây dựng, Thực thi, Triển khai và sau đó nhấp vào Trình biên dịch. Đảm bảo rằng các mô-đun độc lập Biên dịch song song không được chọn. Nếu bạn đã thực hiện thay đổi, bấm Áp dụng hoặc OK để thay đổi của bạn có hiệu lực.

  • Bật Chế độ ngoại tuyến cho Gradle : Nếu bạn bị hạn chế băng thông, hãy bật Chế độ ngoại tuyến để ngăn Gradle cố tải xuống các phụ thuộc bị thiếu trong quá trình xây dựng của bạn. Khi Chế độ ngoại tuyến được bật, Gradle sẽ phát sinh lỗi xây dựng nếu bạn thiếu bất kỳ phụ thuộc nào, thay vì cố tải xuống chúng. Để bật Chế độ ngoại tuyến, hãy tiến hành như sau:

    • Bấm vào Tệp> Cài đặt (trên máy Mac, Android Studio> Tùy chọn) để mở hộp thoại Cài đặt.

    • Trong ngăn bên trái, mở rộng Xây dựng, Thi hành, Triển khai và sau đó bấm vào Lớp.

    • Trong cài đặt Global Gradle, hãy chọn hộp kiểm Công việc ngoại tuyến.

    • Nhấp vào Áp dụng hoặc OK để thay đổi của bạn có hiệu lực.


16

Tôi đã sử dụng tất cả các khuyến nghị của Sam ở trên, nhưng tôi thấy rằng các tùy chọn dòng lệnh VM không còn được hỗ trợ như mô tả. (Tôi đã nhận được một lỗi khi sử dụng)

Để thay thế, tôi đã có thể giảm đáng kể độ phân lớp bằng cách thêm dòng sau vào tệp "gradle.properIES"

org.gradle.jvmargs=-Xms512m -Xmx1024m

Kể từ AS ver 1.3, tệp được đặt ở cùng cấp thư mục với "gradle.build".

Cấu hình trên là "ngăn xếp bộ nhớ" 512 meg và "heap bộ nhớ" là 1024 meg.

Tôi đã thử nghiệm điều này trên một dự án nhỏ, sử dụng các cài đặt trong đó cả hai kích thước bộ nhớ được đặt thành 256 meg. Nó giới hạn các kích thước JVM như mong đợi. Trong tất cả các thử nghiệm của mình, tôi đã khởi động lại AS để buộc JVM khởi động lại.

Hy vọng, điều này sẽ cứu những người khác giải quyết vấn đề này khỏi việc nhận được những phản hồi "Nhận cho mình một máy tính tốt hơn". :-)

Dilber


Cảm ơn; điều này làm việc cho tôi trong AS 1.3! Tôi đã cập nhật các hướng dẫn trong câu trả lời của mình để trình bày phương pháp này vì tôi không tìm thấy bất kỳ cách nào khác để thực hiện trong AS 1.3.
Sam

2

Tôi có Android Studio 2.1.1 Bro sử dụng trình giả lập genymotion Nó nhanh hơn nếu sử dụng Android Marshmallow. Và My Ram là 4gb. Và cài đặt Plugin cho genymotion trong Android Studio. Bạn sẽ thấy kết quả tốt thay vì lãng phí thời gian để khởi động Android emualtor, nó sẽ mất 5 phút. Tốc độ 10 đến 20 giây và nhanh hơn nên tôi khuyên bạn nên sử dụng genymotion.


3
Giống như nó miễn phí.
Ojonugwa Jude Ochalifu

Genymotion không nhanh hơn trong hiệu suất. Trình giả lập là, nhưng vâng, nó bắt đầu nhanh hơn ARM và rất nhanh hơn là trình giả lập studio android IntelX86 và X64.
Mahdi-Malv

2

Để giảm độ trễ, tôi khuyên bạn nên thực hiện các bước follwing

Thông số kỹ thuật máy tính của tôi: 2 gb ram, bộ xử lý: bộ đôi intel core2

trước tiên hãy hủy tất cả quá trình nền, nếu bạn có máy chủ hoặc cơ sở dữ liệu đang chạy, bạn có thể dừng chúng trước bằng các lệnh sau

dịch vụ sudo apache2 dừng

dịch vụ sudo mysql dừng

Sau đó kích hoạt chế độ tiết kiệm năng lượng trong studio android bằng tệp> chế độ tiết kiệm năng lượng

Nó có thể vô hiệu hóa quá trình nền, và sau đó studio có vẻ hoạt động tốt


Đừng hiểu tại sao chúng ta cần kích hoạtPower Save Mode
Morozov

Morozov, nếu chúng tôi kích hoạt chế độ tiết kiệm năng lượng, nó sẽ giết chết các hoạt động nền của studio android, vì vậy nó sẽ cải thiện hiệu suất của nó
Naveen

vâng, chế độ tiết kiệm điện dừng quá trình đó
Naveen

2

Để chạy môi trường Android trên máy cấu hình thấp.

  1. Đóng các tab web không cần thiết trong trình duyệt
  2. Đối với người dùng Antivirus, loại trừ thư mục bản dựng được tạo tự động
  3. Android studio có heap mặc định 1,2 Gb có thể giảm xuống 512 MB

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

studio.vmoptions
 -Xmx512m

Trình diễn bố trí sẽ được tăng tốc

  1. Đối với Gradle, một trong những thành phần cốt lõi trong studio Android Mkae chắc chắn thích ngay bây giờ 3.0beta là phiên bản mới nhất

Các mẹo dưới đây có thể ảnh hưởng đến chất lượng mã, vì vậy vui lòng sử dụng với cảnh báo:

  1. Studio chứa Chế độ an toàn nguồn khi được bật, nó sẽ đóng các hoạt động nền mà lint, tuân thủ mã, v.v.

  2. Bạn có thể chạy thủ công kiểm tra lint khi cần thiết ./gradlew lint

  3. Hầu hết mọi người đang sử dụng trình giả lập Android trung bình, nó tiêu thụ 2 GB RAM, vì vậy nếu có thể sử dụng thiết bị Android thực tế thì những điều này sẽ làm giảm tải tài nguyên của bạn trên máy tính. Ngoài ra, bạn có thể giảm RAM của trình giả lập và nó sẽ tự động giảm mức tiêu thụ bộ nhớ ảo trên máy tính của bạn. bạn có thể tìm thấy điều này trong cấu hình thiết bị ảo và cài đặt trước.

  4. Chế độ ngoại tuyến Gradle là một tính năng cho người dùng bị giới hạn băng thông để vô hiệu hóa việc tải xuống các phụ thuộc của bản dựng. Nó sẽ làm giảm hoạt động nền sẽ giúp tăng hiệu suất của studio Android.

  5. Android studio cung cấp một tối ưu hóa để biên dịch song song nhiều mô-đun . Trên các máy RAM thấp, tính năng này có thể sẽ có tác động tiêu cực đến hiệu suất. Bạn có thể vô hiệu hóa nó trong hộp thoại cài đặt trình biên dịch .


"Studio.vmoptions -Xmx512m" đã giết chết studio Android đối với tôi. Sẽ không còn mở "Không thể tạo JVM: mã lỗi -1". Làm thế nào tôi có thể đảo ngược sự thay đổi này?
MeatPopsicle

1
Trong trường hợp bất cứ ai khác rơi vào cùng một cái bẫy. Bạn có thể khắc phục bằng cách truy cập C: \ Users \ <tên người dùng> \. AndroidStudio <phiên bản> \ config và tìm kiếm tệp .vmoptions. Nếu nó phù hợp với cấu hình bạn vừa thêm thì có lẽ bạn đã an toàn để xóa nó
MeatPopsicle 28/03/19


1

Hãy thử chuyển JVM của bạn sang nhật thực openj9. Nó sẽ sử dụng ít bộ nhớ hơn. Tôi đổi nó và nó sử dụng 600Mb liên tục.


1

Tôi không biết nếu đó là một giải pháp nhưng đã Invalidate Cache and Restartgiải quyết vấn đề này trong trường hợp của tôi. Tôi hiện đang sử dụng Android Studio 3.6


0

Mở bên dưới đề cập đường dẫn trên hệ thống của bạn và xóa tất cả avd của bạn (Thiết bị ảo: Trình giả lập)

C: \ Người dùng {Tên người dùng} .android \ avd

Lưu ý: - Chỉ xóa Trình giả lập khỏi studio android sẽ không xóa tất cả các khoảng trắng lấy bởi avd của họ. Vì vậy, xóa tất cả avd từ đường dẫn đã cho ở trên và sau đó tạo trình giả lập mới, nếu bạn cần.

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.