본문 바로가기

smells digital

안드로이드 개발 속도를 빠르게.. 빠르게.

반응형
다음 중 안드로이드 개발을 가장 어렵게 하는 것은?

  - 좋은 UI툴이 없는 것 => XML코딩량이 너무 많다.
  - 수없이 많은 자잘한 파일들이 생긴다. => 파일 찾다가 시간 다 간다.
  - 각종 이미지가 너무 많이 필요하다. => 아이폰이 비해서 약 2-3배?

위에도 답은 없다.

바로 느려터진 이클립스와 안드로이드 시뮬레이터의 조합이다.

몇 년 전만 해도 상상도 할 수 없었던 성능(씨피유 2기가에 메모리 4기)의 시스템에서도 이렇게 느리다니!!!
이클립스가 동작하는 초기의 시스템에 비해서 몇 배나 빨라졌지만 정작 이클립스 개발 속도는 더 느려지는 것 같다. 무슨 풀 3D 게임인양 다음 버전이 나오면 시스템도 업그레이드 해야 하는 느낌이다.

그래서 생각한 것이 SSD의 조합이다만 SSD금액에다가 세컨드 베이 + ODD케이스 비용까지 추가되니 쉽게 선택할 수 있는 것은 아니다.

현재 대안으로 찾은 방법이 램 디스크를 이용하는 방법이다.

diskutil erasevolume HFS+ "ramdisk" `hdiutil attach -nomount ram://1165430`

를 실행하면 약 560메가의 램 디스크가 생기고 ramdisk로 마운트된다(/Volume/ramdisk)





1. 작업 파일 복사

램디스크는 언마운트를 하거나 전원을 내리면 삭제되기 때문에 동기화를 생각해야 한다. 현재는 SVN을 이용해서 작업중이므로 별도로 해주는 것은 없다.

만약 SVN등을 사용하지 않는다면 작업 후에 반드시 실제 하드로 복사를 해줘야 한다. 아니면 폴더 싱크 툴같은걸 사용하던가.


2. 이클립스 복사, 프로젝트 추가

이클립스도 아예 램디스크 영역으로 복사해서 사용한다.

이클립스에는 같은 id로 프로젝트 등록이 안된다. 즉 램디스크로 복사한 이클립스가 기존의 workspace를 사용하도록 하면 프로젝트 뷰에는 기존의 프로젝트들이 나온다.

이 상태에서 램디스크의 프로젝트를 추가하면 아래와 같은 메시지가 나오고 프로젝트를 등록할 수 없게 된다.



램디스크에서 동작하는 이클립스는 하드 디스크에서 동작하는 이클립스와는 별도의 workspace를 잡아둔다. 그러면 이클립스가 뜨고 나면 프로젝트가 아무것도 등록되어 있지 않은 상태이다.

참고 : workspace는 설정에서 매번 물어보게 할 수 있다.


초기의 다소 지루한 과정
  - 램 디스크 생성
  - 이클립스 복사
  - 소스 복사(혹은 SVN에서 checkout)
  - 프로젝트 import

을 거치기는 하지만 조금이나마 실행 속도가 향상된 것을 느낄수 있다.


참고
http://osxdaily.com/2007/03/23/create-a-ram-disk-in-mac-os-x/



반응형