안드로이드 스튜디오는 너무 많은 메모리를 소비


175

Android Studio 1.0 RC 2를 설치했습니다. 4GB의 RAM이 설치되어 있지만 Android Studio를 시작하고 Android Emulator를 시작한 후이 두 메모리 만 90 % 이상의 실제 메모리를 사용했습니다. 이 메모리 사용을 줄일 수있는 방법이 있습니까? 이 메모리 문제로 인해 다른 응용 프로그램을 동시에 열 수 없습니다. 여기에 이미지 설명을 입력하십시오


17
4GB Windows 개발 시스템에서 Eclipse 또는 Android Studio 및 에뮬레이터를 사용하면 매우 고통 스럽습니다. 나는 것 강하게 당신도 (대신 에뮬레이터의) 장치에서 개발 컴퓨터의 RAM (8기가바이트 이상), 테스트 업그레이드 또는 IDE를 생략하고 일반 편집기와 명령 줄 도구를 사용하여 개발을하는 것이 좋습니다.
CommonsWare

2
게시 한 스크린 샷으로 Windows 판단을 사용하고 있다고 생각합니다. 그러나 어떤 버전의 Windows입니까? 또한 Android Studio는 아직 초기 단계이므로 많은 문제가 발생합니다. Gradle 지원이 필요하지 않은 경우 항상 Eclipse를 사용해 볼 수 있습니다. IDE는 수년에 걸쳐 시도되고 테스트되었으므로 개발 환경에 매우 견고합니다 (RAM 측면).
ChuongPham

1
@CommonsWare Linux PC에서도 마찬가지인지 아십니까? 미리 감사드립니다.
Alexander Kulyakhtin

4
@PPD : Windows에서 관리 도구 | 서비스 옵션. 시작msconfig에서 불필요한 응용 프로그램으로 이동하여 끕니다 . Windows에서 불필요한 시각 효과를 끕니다. Android 에뮬레이터를 실행할 때 특히 강력한 그래픽 카드가있는 경우 호스트 GPU 사용 옵션을 켜십시오 . Windows 7 개발 PC를 보유하고 있으며 Windows 7, Eclipse, Mozilla Firefox (추가 기능 없음) 및 방금 언급 한 Windows 사용자 지정 단계를 포함하여 한 번에 2-2.5GB의 RAM 만 사용합니다. 또한 Fedora를 사용하며 Windows보다 훨씬 적은 메모리를 사용합니다.
ChuongPham

3
관찰 결과 : 일부 Chrome 탭이 열려있는 것을 알 수 있습니다. 당신은 할 수 는 브라우저 탭마다 프로세스를 사용하지 않기 때문에 파이어 폭스는 조금 덜 RAM을 사용하는 찾을 수 있습니다.
Sam

답변:


224

현재 RAM 6 기가있는 Windows 8.1 컴퓨터에서 Android Studio를 실행하고 있습니다.

안드로이드 스튜디오에서 VCS를 비활성화하고 외부 프로그램을 사용하여 VCS를 처리하는 것이 많은 도움이되었다는 것을 알았습니다. 파일 -> 설정 -> 플러그인 으로 이동하여 VCS를 비활성화하고 다음을 비활성화 할 수 있습니다.

  • CVS 통합
  • 힘내 통합
  • 깃 허브
  • 구글 클라우드 테스팅
  • Google Cloud Tools 핵심
  • Android Studio 용 Google 클라우드 도구
  • hg4idea
  • 서브 버전 통합
  • 머큐리 통합
  • 테스트 NG-J

18
아아, 아주 작은 변화.
krivar

5
프로젝트가 svn 또는 github와 같은 저장소로 구성된 경우 큰 차이가 있습니다. 실행 대기 시간이> 3 분에서 <1 분으로 줄었습니다. 놀라운 도움을 주셔서 감사합니다.
어. Kaushik Kajavadara

4
'Git Integration'을 계속 켜두었지만 이것은 효과가 있고 큰 차이를 만듭니다. 이상적으로 Android Studio는 기본 설정으로 설정해야합니다.
Mr-IDE

3
4GB 램과 amd X4 Cpu와 함께 HP 6005 미니 케이스에이 방법을 사용했습니다. 이 플러그인을 모두 비활성화 한 후 내 안드로이드 스튜디오가 매우 빨리 열리므로 믿을 수 없습니다. 안드로이드 스튜디오를 시작하기 전에 15 초가 걸리지 만 이제는 1 초 안에 나타납니다. 감사
AN

2
Mercurial Integration, TestNG-J도 비활성화하십시오.
xiaoweiz

108

필자의 경우에는 메모리 호깅의 두 가지 주요 소스가 있습니다.

Android Studio (최대 1.5GB)

IDE의 JVM은 최대 힙 크기를 갖도록 구성되어 있습니다. 메인 인터페이스의 오른쪽 하단에서이를 확인할 수 있습니다.

725M의 최대 힙 크기를 표시하는 Android Studio

당신은 편집하여이를 줄일 수 메모리 관련 설정파일 . 예를 들어 최대 힙 크기를 512MB로 변경했습니다..vmoptions

-Xmx512m

불행히도,이 값을 낮추면 가비지 수집을하기 위해 일시적으로 동결되는 Android Studio의 빈도가 증가한다는 것을 알았습니다.

Gradle (최대 1.5GB)

Gradle은 한동안 개발 한 후에도 많은 RAM을 사용할 수 있습니다. Windows는 다음과 같이 표시합니다 Java(TM) Platform SE Binary.

1,460.5MB의 메모리를 사용하는 "Java (TM Platform SE 바이너리)"를 표시하는 Windows 8.1 작업 관리자

Gradle JVM 옵션을 변경하여이 문제를 해결할 수 있습니다. 다음을 편집하여 사용자별로 수행 할 수 있습니다 gradle.properties.

  1. gradle.properties파일을 열어서 존재하지 않는 경우 작성하십시오.
    • 윈도우 : %USERPROFILE%\.gradle\gradle.properties
    • 리눅스 / 맥 : ~/.gradle/gradle.properties
  2. org.gradle.jvmargs필요한 경우 특성을 업데이트하여 작성하십시오. 나는 이것을 내 것으로 설정했다.

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

최대 힙 크기가 256MB ( -Xmx256m)로 설정된 소규모 프로젝트의 빌드 성능에 차이가 없습니다 .

이전 Gradle 프로세스가 종료 되도록 Android Studio를 다시 시작해야 할 수도 있습니다 . 그렇지 않으면 둘 다 동시에 실행될 수 있습니다.

에뮬레이터

에뮬레이터가 많은 RAM을 차지하는 것과 관련하여 스크린 샷에는 약 800MB가 걸립니다. 에뮬레이터에 할당 할 RAM 양을 선택할 수 있습니다.

  1. AVD 편집
  2. 를 눌러 고급 설정 표시
  3. RAM 의 가치를 낮추십시오

Android 가상 장치 RAM 구성


SoJexy의 답변과 함께 내 컴퓨터의 성능이 크게 향상되었습니다.
Josh Larson

이 팁은 생명의 은인이었습니다! dex 컴파일러가 사용하는 힙 크기를 변경하여 메모리 사용을 추가로 줄이는 옵션도 있습니다. 세부 정보 : techzog.com/development/android-studio-high-ram-usage
Varun

1
에서 .vmoptions파일은 말한다 : *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/configuration그러나, 내 시스템에 사용자가 특정 파일을 될 것 같지 않습니다 및 웹 사이트가 이러한 파일의 다른 위치를, 나는이 솔루션과 함께 갈 것입니다 설명하지 않기 때문에. 아 그리고 : MaxPermSize는 언젠가 더 이상 사용되지 않습니다. 터미널에서 IDE를 시작할 때 항상 경고합니다.
Zelphir Kaltstahl

1
@Zelphir, 어떤 OS 및 Android Studio 버전을 사용하고 있습니까? Windows를 사용하고 있으며 파일이 아래 %USERPROFILE%에 있으며 사용자마다 다릅니다. 나는 Linux를 잘하지 않지만 Mac 및 Linux 지침은 파일이 아래에 있다고 말합니다 ~. 사용자의 홈 디렉토리는 무엇입니까? 파일이 없으면 파일을 만들 수 있습니다. 위에서 언급 한 문서는이라고 말합니다 Instead, you can customize the attributes by creating your own .properties or .vmoptions files in the following directories.. 작동하는지 알려 주시면 답변을 업데이트 할 수 있습니까?
Sam

3
멋진 제안! Gradle의 경우, 편집하여 "사용자 전체"방식으로 문제를 해결했습니다 ~/.gradle/gradle.properties.
Andrea Lazzarotto

51

Eclipse 또는 Android Studio 작업 속도를 높일 수 있습니다. 다음을 따르십시오.

  • 한 번에 하나의 프로젝트 사용 / 열기
  • 에뮬레이터에서 앱을 실행할 때마다 프로젝트를 정리하십시오.
  • 에뮬레이터 대신 모바일 / 외부 장치 사용
  • 한 번 사용한 후 에뮬레이터를 닫지 말고 매번 동일한 에뮬레이터를 사용하여 앱을 실행하십시오.
  • 파일-> 설정-> 플러그인을 사용하여 VCS를 비활성화하고 다음 사항을 비활성화합니다.
    1.CVS 통합
    2.Git 통합
    3.GitHub
    4. Android Studio 용 Google Cloud Tools
    5.Subversion 통합

또한 4GB가 설치된 기본 메모리로 Android Studio를 사용하고 있지만이 진술을 따르면 Android Studio 성능이 실제로 향상됩니다.


1
나는 목록의 모든 것을 비활성화했다. 여전히 1.5GB 램 정도 사용
Arshad

@ arshadkazmi42 나를 당신의 PC의 구성 알
KulArtist

i3, 4GB RAM, 500GB HDD
Arshad

13
나는 이것이 "i3"이 소프트웨어 장인 정신의 실패의 원인이라고 말하는 것은 말도 안된다고 생각한다!
XMight

1
내 i3 프로세서가> i3에 이의를 제기하려고합니다.이 이의를 수락 하시겠습니까? 아무도 i3가 느리거나 메모리를 많이 차지한다고 말하지 않을 것입니다.
Sabir Hossain

28

안드로이드 스튜디오는 최근 낮은 메모리 머신의 공식 가이드를 발표했다 : 가이드

권장 사양보다 낮은 시스템에서 Android Studio를 실행중인 경우 (시스템 요구 사항 참조) 다음과 같이 IDE를 사용자 정의하여 시스템의 성능을 향상시킬 수 있습니다.

  • Android Studio에서 사용 가능한 최대 힙 크기 줄이기 : Android Studio 의 최대 힙 크기를 512Mb로 줄입니다.

  • Gradle 및 Gradle 용 Android 플러그인 업데이트 : 최신 버전의 Gradle 및 Gradle 용 Android 플러그인으로 업데이트하여 최신 성능 향상을 활용할 수 있습니다.

  • 절전 모드 활성화 : 절전 모드를 활성화하면 오류 강조 표시 및 즉석 검사, 자동 팝업 코드 완성 및 자동 증분 백그라운드 컴파일을 포함하여 많은 메모리 및 배터리 집약적 백그라운드 작업이 꺼집니다. 절전 모드를 켜려면 파일> 절전 모드를 클릭하십시오.

  • 불필요한 린트 검사 비활성화 : 코드에서 Android Studio가 실행되는 린트 검사를 변경하려면 다음과 같이 진행하십시오. 파일> 설정 (Mac의 경우 Android Studio> 환경 설정)을 클릭하여 설정 대화 상자를 엽니 다. 왼쪽 창에서 편집기 섹션을 확장합니다 검사를 클릭하십시오. 프로젝트에 따라 보푸라기 검사를 선택하거나 선택 취소하려면 확인란을 클릭하십시오. 적용 또는 확인을 클릭하여 변경 사항을 저장하십시오.

  • 실제 장치에서 디버깅 : 에뮬레이터에서 디버깅하면 실제 장치에서 디버깅하는 것보다 더 많은 메모리가 사용되므로 실제 장치에서 디버깅하여 Android Studio의 전반적인 성능을 향상시킬 수 있습니다.

  • 필요한 Google Play 서비스 만 종속성으로 포함 : 프로젝트에 Google Play 서비스를 종속성으로 포함하면 필요한 메모리 양이 증가합니다. 메모리 사용 및 성능을 향상시키기 위해 필요한 종속성 만 포함하십시오. 자세한 내용은 프로젝트에 Google Play 서비스 추가를 참조하십시오.

  • DEX 파일 컴파일에 사용 가능한 최대 힙 크기 줄이기 : DEX 파일 컴파일에 대한 javaMaxHeapSize를 200m로 설정하십시오. 자세한 정보는 DEX 자원을 구성하여 빌드 시간 향상을 참조하십시오 .

  • 병렬 컴파일 사용 안함 : Android Studio는 독립 모듈을 병렬로 컴파일 할 수 있지만 메모리가 부족한 시스템 인 경우이 기능을 켜지 않아야합니다. 이 설정을 확인하려면 다음과 같이 진행하십시오. 파일> 설정 (Mac의 경우 Android Studio> 환경 설정)을 클릭하여 설정 대화 상자를여십시오. 왼쪽 창에서 빌드, 실행, 배포를 확장 한 다음 컴파일러를 클릭합니다. 독립 모듈 병렬 컴파일 옵션이 선택되어 있지 않은지 확인하십시오. 변경 한 경우 적용 또는 확인을 클릭하여 변경 사항을 적용하십시오.

  • Gradle에 대한 오프라인 모드 켜기 : 대역 스위치가 제한된 경우 오프라인 모드를 켜서 Gradle이 빌드 중에 누락 된 종속성을 다운로드하지 못하게합니다. 오프라인 모드가 켜져 있으면 Gradle은 종속성을 다운로드하지 않고 종속성을 누락하면 빌드 실패를 발행합니다. 오프라인 모드를 켜려면 다음을 수행하십시오.

    • 파일> 설정 (Mac의 경우 Android Studio> 환경 설정)을 클릭하여 설정 대화 상자를여십시오.

    • 왼쪽 창에서 Build, Execution, Deployment를 확장 한 다음 Gradle을 클릭하십시오.

    • 전역 Gradle 설정에서 오프라인 작업 확인란을 선택하십시오.

    • 변경 사항을 적용하려면 적용 또는 확인을 클릭하십시오.


16

위의 Sam 권장 사항을 모두 사용했지만 설명에 따라 VM 명령 줄 옵션이 더 이상 지원되지 않는 것으로 나타났습니다. (사용할 때 오류가 발생했습니다)

대안으로, "gradle.properties"파일에 다음 줄을 추가하여 gradle을 크게 줄일 수있었습니다.

org.gradle.jvmargs=-Xms512m -Xmx1024m

AS 버전 1.3부터 ​​파일은 "gradle.build"와 동일한 폴더 레벨에 있습니다.

위의 구성은 512 메가의 "메모리 스택"과 1024 메가의 "메모리 힙"입니다.

메모리 크기가 모두 256 메가로 설정된 설정을 사용하여 작은 프로젝트에서 이것을 테스트했습니다. 예상대로 JVM 크기가 제한되었습니다. 모든 테스트에서 AS를 다시 시작하여 JVM을 강제로 다시 시작했습니다.

이 문제를 다루는 다른 사람들이 "더 나은 컴퓨터를 얻으십시오"라는 응답을 얻지 않기를 바랍니다. :-)

딜버


감사; 이것은 AS 1.3에서 나를 위해 일했습니다! AS 1.3에서 다른 방법을 찾지 못했기 때문에이 방법을 다루기 위해 답변의 지침을 업데이트했습니다.
Sam

2

Android Studio 2.1.1 Bro 사용 genymotion 에뮬레이터 Android Marshmallow를 사용하면 더 빠릅니다. 그리고 내 램은 4 기가 바이트입니다 .Android Studio에서 genymotion 용 플러그인 설치 .Android emualtor를 시작하는 데 시간을 낭비하는 대신 좋은 결과를 볼 수 있습니다 .5 분 .genymotion 10-20 초 속도가 더 빠르며 더 빠르므로 genymotion을 사용하는 것이 좋습니다.


3
무료처럼.
Ojonugwa Jude Ochalifu

Genymotion은 성능이 더 빠르지 않습니다. 그러나 에뮬레이터는 ARM보다 빠르며 IntelX86 및 X64 안드로이드 스튜디오 에뮬레이터보다 훨씬 빠릅니다.
Mahdi-Malv

2

지연을 줄이려면 다음 단계를 권장합니다.

내 PC 사양 : 2GB 램, 프로세서 : Intel Core2 Duo

먼저 모든 백그라운드 프로세스를 종료하십시오. 서버 또는 데이터베이스가 실행중인 경우 다음 명령으로 먼저 중지 할 수 있습니다

sudo 서비스 아파치 2 중지

sudo 서비스 mysql 중지

그런 다음 파일> 절전 모드로 android studio에서 절전 모드를 활성화하십시오.

백그라운드 프로세스를 비활성화 한 다음 스튜디오가 잘 작동하는 것처럼 보입니다.


왜 우리가 활성화해야하는지 이해하지 못합니다Power Save Mode
Morozov

Morozov, 절전 모드를 활성화하면 Android 스튜디오의 백그라운드 활동이 중단되므로 성능이 향상됩니다.
Naveen

그래, 절전 모드는 그 과정을 중지
Naveen

2

낮은 구성 시스템에서 Android 환경을 실행합니다.

  1. 브라우저에서 불필요한 웹 탭을 닫습니다.
  2. 안티 바이러스 사용자의 경우 자동 생성 된 빌드 폴더를 제외하십시오.
  3. Android 스튜디오의 1.2Gb 기본 힙은 512MB로 줄어들 수 있습니다

도움말> 사용자 정의 VM 옵션 편집

studio.vmoptions
 -Xmx512m

레이아웃 성능이 향상됩니다

  1. Android Studio Mkae의 핵심 구성 요소 중 하나 인 Gradle의 경우 3.0beta 가 최신 버전입니다.

아래 팁은 코드 품질에 영향을 줄 수 있으므로주의해서 사용하십시오.

  1. Studio의 전원 안전 모드 는 켜져있을 때 보푸라기, 코드 완성 등의 백그라운드 작업을 종료합니다.

  2. 필요할 때 수동으로 보푸라기 점검을 실행할 수 있습니다 ./gradlew lint

  3. 대부분 안드로이드 에뮬레이터 를 평균적으로 사용하는 데 2GB RAM 이 사용되므로 가능한 경우 실제 안드로이드 장치를 사용하면 컴퓨터의 리소스 부하가 줄어 듭니다. 또는 에뮬레이터의 RAM을 줄이고 컴퓨터의 가상 메모리 소비를 자동으로 줄입니다. 가상 장치 구성 및 고급 설정에서 찾을 수 있습니다.

  4. Gradle 오프라인 모드 는 대역폭 제한 사용자가 빌드 종속성 다운로드 를 비활성화 하는 기능입니다 . 백그라운드 작업이 줄어들어 Android 스튜디오의 성능을 향상시키는 데 도움이됩니다.

  5. Android 스튜디오는 여러 모듈 을 병렬 로 컴파일 하기위한 최적화 기능을 제공합니다 . RAM이 적은 시스템에서는이 기능이 성능에 부정적인 영향 수 있습니다. 컴파일러 설정 대화 상자 에서 비활성화 할 수 있습니다 .


"studio.vmoptions -Xmx512m"이 Android 스튜디오를 죽였습니다. "JVM 생성 실패 : 오류 코드 -1"을 더 이상 열지 않습니다. 이 변경을 어떻게 되돌릴 수 있습니까?
MeatPopsicle

1
다른 사람이 같은 함정에 빠지는 경우. C : \ Users \ <username> \. AndroidStudio <version> \ config로 이동하여 .vmoptions 파일을 찾아서 수정할 수 있습니다. 그것이 당신이 방금 추가 한 설정과 일치한다면 아마도 삭제해도 안전 할 것입니다
MeatPopsicle


1

openj9를 이클립스로 전환하십시오. 훨씬 적은 메모리를 사용합니다. 나는 그것을 600Mb를 지속적으로 사용했다.


1

그것이 해결책인지는 모르지만 Invalidate Cache and Restart제 경우에는이 문제를 해결했습니다. 현재 Android Studio 3.6을 사용하고 있습니다.


0

시스템에서 언급 경로를 열고 모든 avds (가상 장치 : 에뮬레이터)를 삭제하십시오.

C : \ Users {사용자 이름} .android \ avd

참고 :-android studio에서만 에뮬레이터를 삭제하면 avd로 잡은 모든 공간이 삭제되지는 않습니다. 따라서 위의 주어진 경로에서 모든 avd를 삭제하고 필요한 경우 새 에뮬레이터를 만듭니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.