구글 안드로이드 스튜디오(Android Studio) 메모리 최적화 part2

Posted by 앱해피
2015. 6. 13. 22:17 안드로이드 스튜디오

 

PART2. 안드로이드 앱 생성시 소모되는 메모리(RAM) 크기 줄이기

 

메모리 최적화 관련 내용 Part1

http://apphappy.tistory.com/4

 

전에 포스팅을 한 것과 같이, 안드로이드 스튜디오는 그전에 사용되었던 이클립스와 비교하면 훨씬 많이 메모리

 

(RAM)을 잡아 먹습니다. 충분한 메모리(RAM)용량을 갖는 컴퓨터는 아무 문제 없겠지만 오래된 컴퓨터나

 

노트북에서는 현재 갖고 있는 CPU와 메모리(RAM)을 최대한 효율적으로 사용해야 합니다. 비록 안드로이드

 

스튜디오가 메모리를 많이 차지하지만, 사용자가 자신의 개발 환경에 따라서 여러가지 설정만 조정해주면

 

좀더 나은 상황에서 개발을 할 수 있습니다.

 

(RAM 용량이 충분하시면 그냥 사용하시는 것을 추천드립니다)

 

 

 

 

 

서론에 안드로이드 스튜디오에서 App 생성과 관련된 메모리(RAM) 크기를 줄이는 방법에 대해서 알아본다

 

했습니다. 그렇다면  일단 App 생성과 관련된 메모리(RAM)가 뭔지 알아야 합니다.

 

위에 있는 그림을 보면 빨간색 네모 안에 있는 버튼이 있습니다. 대부분의 사람들이 알고 있듯이,

 

저 버튼은 이제까지 생성한 코드를 바탕으로 실제 안드로이드 앱을 생성할 때 누르는 버튼입니다.

 

 

 

 

 

그럼 안드로이드 스튜디오 하단 부분에 Gradle:Executing Tasks라는 글귀가 보이고 뭔가가 진행되고

 

있다는 내용을 알려줍니다. 위에서 App을 생성하는 버튼을 클릭했으니 당연히 이 때 진행하는 작업은

 

소스코드와 리소스를 바탕으로 App을 생성하는 과정일 것입니다.

 

컴퓨터 시스템에선 어떤 작업을 처리하기 위해서는 그와 관련된 데이터가 메모리(RAM)에 있어야 합니다.

 

그 위치가 바로 이전에 말씀드린 App 생성과 관련된 메모리(RAM) 입니다.

 

그럼 그 위치가 어딨는 곳인지 작업관리자(Ctrl + Alt + Delete)를 통해서 알아보겠습니다.

 

 

 

 

 

바로 빨간색으로 표시된 백그라운드 프로세스가 바로 App 생성과 관련된 메모리(RAM) 입니다.

 

프로세스의 이름이 Gradle과 관계없이 Java Platform Se라는 전혀 생각하지도 못한 이름을 갖고 있었기

 

때문에, 그동안 이 메모리의 정체를 파악하기 어려웠던 것입니다.

 

 

그렇다면

 

1) 이 프로세스의 메모리(RAM) 어떤 식으로 낭비되고 있는지?

 

2) 이 프로세스의 메모리(RAM)의 크기를 줄여서 컴퓨터 메모리(RAM)의 여유 공간을 어떻게 확보할

 

것인가?

 

이 2가지 문제에 대해서 알아보겠습니다.

 

 

#1 프로세스의 메모리(RAM)가 어떤 식으로 낭비되고 있는지?

 

개발자가 소스를 일부 수정하고 앱 생성 버튼을 누르고, 이후 소스의 일부를 다시 수정하고 앱 생성

 

버튼을 누르고 하며 자신의 어플리케이션을 완성해 나가게 됩니다.

 

현재 App 생성과 관련된 메모리(위의 그림으로 설명하면 현재 517MB 사용중) 상태에서 소스를

 

수정한 뒤, 다시 앱 생성을 하면 현재 517MB 용량을 유지한 상태에서 자신에게 더 필요한 만큼의 용량을

 

추가해 나가는 방식으로 메모리를 점유해 갑니다. 현재 가지고 있던 517MB 용량의 일부를 재사용하는

 

방식을 통해 앱을 충분히 생성할 수 있음에도 불구하고  불필요하게 메모리(RAM)을 추가해 나가니

 

나중에 다른 프로그램이 사용할 메모리가 부족해 지는 것입니다.

 

 

#2 이 프로세스의 메모리(RAM)의 크기를 줄여서 

컴퓨터 메모리(RAM)의 여유 공간을 어떻게 확보할 것인가?

 

App 생성과 관련된 메모리(RAM)는 각각 여러 파트로 구성되어 있지만 그 중에서도 가장

 

큰 비중을 차지하는 App 생성과 관련된 메모리(RAM)의 최대 힙을 기준으로 설정값을 변경하여

 

많은 메모리(RAM) 공간을 확보할 수 있는 방법을 제시하겠습니다.

 

** 다시 정리 : App 생성과 관련된 메모리는 여러 부분으로 있지만 그 안에서 가장 큰 비중을 차지하는

 

최대 힙의 크기를 변경하여 여유 메모리(RAM)을 추가하는 방법 알아볼 예정 **

 

안드로이드 스튜디오는 기본 설정 값으로 최대 힙의 크기 1024MB(1GB)로 설정하고 있습니다.

 

그러니까 안드로이드 기본 설정을 바꾸지 않는 이상 앱을 생성(빌드) 할 때마다 최대 힙의 크기가

 

1024가 될 때까지 메모리를 무작정 점유하게 됩니다.

 

 

 

# 결론 #

 

App 생성과 관련된 메모리(RAM)최대 힙의 크기를 줄여나가는 방법을 알아보겠습니다.

 

 

 

 

File 메뉴를 선택한 뒤, Settings라는 항목을 선택합니다.

 

 

 

 

 

Build, Execution, Deployment를 선택한 뒤, Compiler라는 서브 메뉴를 선택합니다. 

 

 

 

 

빨간 네모칸 안에 VM Options에 값을 입력합니다.

 

최대 힙의 크기로 256MB를 설정하려면 -Xmx256m으로 입력합니다.

 

또는 최대 힙의 크기로 512MB를 -Xmx512m으로 입력합니다.

 

저는 -Xmx512m으로 하실 것을 권장드립니다.