티스토리 뷰


A2SD/A2SD+ 에 대해 알아보자.
A2SD 는 App2Sd 라고도 하는데 이름에서 조금 유추 해 볼 수 있듯이 App들을 SD에 넣고 돌리게 해 주는 스크립트(script)라고 보면 되겠다.

기본원리
기본적인 원리는 internal memory 에서 app 과 관련되어 용량을 차지하는 부분들을 sd 카드로 옮기고, symbolic link 를 걸어주는 것이다.

app이 internal memory(내부메모리) 에서 주로 용량을 차지하는 부분이 아래 4가지 정도 있다.

  • /data/app : apk 파일이 저장되는 곳
  • /data/app-private : 유료app 들이 저장되는 곳
  • /data/dalvik-cache : VM 에 올라가는 dex 파일들이 저장되는 곳. A2SD+ 에서 지원.
  • /data/data : 데이터베이스등의 파일이 저장되는 공간.(참고: http://i5on9i.tistory.com/508)

이 4가지 directory 를 SD카드로 옮길 수 있는 방법을 제공하는 것이 A2SD 스크립트인데, 보통 app 의 설치공간 문제를 해결하는 것은 /data/app 과 /data/app-private 의 위치를 이동해서, directory 를 심볼릭링크(symbolic link)로 연결시켜  internal memory 를 늘려주면 된다. 물론 다른 directory 도 SD card 도 옮길 수 있지만 개인적으로는 추천하지 않는다.
참고로, 현재 A2SD(Current A2SD) 는 framework 에 통합되어 있어 따로 symbolic link 를 사용하지 않는다.

A2SD 와 A2SD+ 의 차이점과 문제점
A2SD 와 A2SD+ 의 차이점은 Dalvik-cache를 SD 카드로 옮겨놓는냐 그렇지 않느냐 이다. cache 를 옮겨놓음으로써 internal memory 를 조금 더 확장하게 되지만, cache 의 특성상 자주 읽고쓰기(read/write) 를 해야 하기 때문에 SD card 로의 접근이 잦아지게 된다. 이것은 나중에 FAT32 와 ext3 partition 을 왔다갔다 하는 경우가 발생할 때 thrashing 을 발생시키는 문제가 있다.(예를 들면, 비디오를 녹화하고, 다시 play 하는 경우등.) 이렇게 thrashing 이 발생하면 화면이 순간 멈추는 현상이 발생하게 되는 것이다.(http://www.androidpub.com/494214)

Froyo A2SD 에 비해 A2SD 의 장점.
그리고 Froyo 에서 지원하는 A2SD 는 FAT32 에 app의 data 를 옮겨놓는 것이기 때문에 app 의 로딩이 SD card 가 mount 된 이후에 가능하다. 하지만 A2SD 는 ext3 file system 을 이용하기 때문에 부팅후에 바로 보여지게 된다.



이외에도 d2we / d2ext 가 있다. 이것에 대한 자세한 이야기는 'references'에서 확인하도록 하자.

references

 
other references
  1. data2ext i/o boost 벤치마크
  2. a2dp 사용법 : http://miuiraspberry.tistory.com/6


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함