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

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



답변

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

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

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

답변

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

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 구성


답변

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

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

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


답변

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

권장 사양보다 낮은 시스템에서 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 설정에서 오프라인 작업 확인란을 선택하십시오.

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


답변

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

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

org.gradle.jvmargs=-Xms512m -Xmx1024m

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

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

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

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

딜버


답변

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


답변

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

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

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

sudo 서비스 아파치 2 중지

sudo 서비스 mysql 중지

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

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