code

Dalvik과 dalvik-cache는 무엇입니까?

codestyles 2020. 10. 24. 10:16
반응형

Dalvik과 dalvik-cache는 무엇입니까?


이것이 Android에서 기본적인 질문 일 수 있다는 것을 알고 있습니다. 그러나 Dalvik과 dalvik-cache는 무엇입니까?


Dalvik은 Android에서 사용하는 가상 머신입니다. 정확하지는 않지만 일반적으로 Java 가상 머신으로 간주됩니다. Java와 동일한 객체 모델을 사용하며 메모리 모델도 거의 동일합니다. 그러나 dalvik VM은 스택 기반 인 Java VM과 달리 레지스터 기반 VM입니다.

따라서 Java와는 완전히 다른 바이트 코드를 사용합니다. 그러나 Android SDK에는 Java 바이트 코드를 dalvik 바이트 코드로 변환 하는 dx 도구포함되어 있으므로 Java로 Android 애플리케이션을 작성할 수 있습니다.

" dalvik-cache " 라고 말하면 일반적인 Android 기기에서 찾을 수있는 / data / dalvik-cache 디렉토리를 의미한다고 가정합니다 . Android에 애플리케이션을 설치하면 해당 애플리케이션의 dex 파일 (애플리케이션에 대한 모든 dalvik 바이트 코드를 포함하는 파일)에 대해 몇 가지 수정 및 최적화를 수행합니다. 그런 다음 결과 odex ( 최적화 된 dex ) 파일을 / data / dalvik-cache 디렉토리에 캐시 하므로 애플리케이션을로드 할 때마다 최적화 프로세스를 수행 할 필요가 없습니다.

좋은 참조


Dalvik은 Android에서 Android 앱을 실행하는 Java 기반 가상 머신입니다. Dalvik-cache는 Dalvik VM의 캐시 영역이며 Dalvik VM이 앱 실행을 최적화 할 때 생성됩니다.

원하는 경우 Dalvik VM 연산 코드와 "일반"Java VM 연산 코드의 차이점에 대해 인터넷에서 더 많이 찾아 볼 수 있습니다.


Dalvik 캐시는 실행 파일로 저장되는 애플리케이션 코드의 임시 컴파일에 불과합니다. Dalvik 캐시 외부에있는 원래 애플리케이션 코드에서 동적으로 컴파일 할 수 있으므로 실제 패널티없이 Dalvik 캐시를 지울 수 있습니다.

참고 URL : https://stackoverflow.com/questions/7541281/what-is-dalvik-and-dalvik-cache

반응형