프로그램/Java - Android / / 2011. 12. 30. 17:33

multi-dex 사용 방법 & dex — Dalvik Executable Format

반응형
dex — Dalvik Executable Format
http://source.android.com/tech/dalvik/dex-format.html

multi-dex 사용 방법

/**

* Method 수 64k제약을 회피하기 위하여 DexClassLoader를 통한 Dynamic ClassLoading을 지원하기 위한 class.

* DalvikVM 버그로 인하여 Android 2.2이상 Honeycom3.1이상 부터 지원한다.

*

* 동작 방식

* Main dex 와 Sub dex 분리하여 Main dex 에서 필요시 DexClassLoader를 통하여 sub dex 를 읽는 방식으로

* 동작한다. SubDex는 assets에 저장하여 apk로 묶은후 초기 한번 실행시 data 영역으로 복사하여 설치하도록 한다.

*

* 제약 사항

* 1.Activity 는 DexClassLoader를 통하여 load될 수 없기 때문에 항상 maindex 포함되어야 한다.

* 2.ClassLoader가 다르기 때문에 maindex subdex 참조할 수 없지만 subdex maindexparent로 갖기

* 때문에 참조할 수 있다. 따라서 maindex에서 subdex class를 참조할 경우는 wrapping하여 reflection으로

* 호출하여야 한다.

*

* 사용 방법

* 1. installDex를 반드시 Activity.onCreate의 첫째 라인에서 호출하도록 한다.

* 2. MultiDexSupport를 상속하여 Wrapper를 생성한다.

* 3. newClassFromDex 혹은 getDexClassLoader()를 통하여 Class를 호출하도록 한다.


http://developer.android.com/reference/dalvik/system/DexClassLoader.html 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유