- -ART 란 무엇이며 Android의 Dalvik Virtual Machine과 어떻게 다릅니 까?

ART 란 무엇이며 Android의 Dalvik Virtual Machine과 어떻게 다릅니 까?

기술의 세계에서 새로운 용어와약어는 새로운 것이 아니며 때로는 기존 소프트웨어가 새로 출시 될 때마다 모든 사람이 사용하고 이해하는 것처럼 보이는 새로운 용어가 나타날 수 있습니다. 그러나 초보자와 많은 일반 사용자의 문제는 새로운 의미가 무엇을 의미하는지 완전히 이해하지 못하거나 개발자가 아닌 사실 때문에 공식 출처에서 쉽게 알아볼 수 없다는 것입니다. 이러한 많은 용어와 그 기술적 세부 사항을 설명하는 데 너무 열심입니다. 기껏해야 설명을 제공하는 공식 링크를 알게되지만 기술적 용어로는 비전문가에게는 거의 쓸모가 없습니다.

AddictiveTips에서 우리는 항상 자부심을 가지고 있습니다기술적 인 개념을 허비하고 일반 사용자와 기술 초보자가 이해할 수있는 용어로 답변을 제공합니다. 따라서 Google이 Android 4.4 KitKat을 사용하여 ART를 도입하기로 결정했을 때이를 독자에게 새로운 런타임 환경을 소개하고 모든 사람들이이 모든 것이 무엇인지 이해하고 Dalvik 가상 머신과 다른 점을 이해하도록 도울 수있는 기회로 보았습니다. ART를 대체하기 위해 구축 중입니다.

What-is-ART_vs-Dalvik-Android- 런타임 환경

런타임 환경이란 무엇입니까?

실제 질문에 대답하기 전에우리는 실제로 런타임 환경이 무엇인지 이해해야합니다. 간단히 말해서 런타임은 프로그램이 실행될 때 실행되는 소프트웨어 명령으로 구성됩니다. 프로그램 명령은 특히 해당 소프트웨어 코드의 일부가 아닌 경우에도 해당됩니다. 이 지침은 기본적으로 소프트웨어 자체 코드를 컴퓨터가 실행할 수있는 코드로 변환합니다. 따라서 모든 컴퓨터 언어에는 해당 언어로 작성된 코드를 올바르게 실행할 수있는 일종의 런타임 환경이 필요합니다.

안드로이드는 가상 머신을Android 애플리케이션을 구성하는 APK 파일을 실행하기위한 런타임 환경 가상 머신 사용의 이점은 두 가지입니다. 첫째, 앱 코드가 핵심 운영 체제와 분리되어있어 문제가 발생하더라도 격리 된 환경에 포함되어 기본 OS에 영향을 미치지 않도록합니다. 둘째, 앱이 다른 플랫폼 (예 : 모바일 앱을 개발하는 경우와 같이 PC)에서 컴파일 되더라도 가상 머신을 사용하여 모바일 플랫폼에서 실행될 수 있음을 의미하는 상호 호환성을 허용합니다. .

Android의 경우 가상 머신 기반 런타임지금까지 사용중인 환경을 Dalvik Virtual Machine이라고합니다. OS의 세부 사항을 파헤쳐 본 사람이라면 누구나 익숙 할 것입니다.

가상 머신을 사용하는 이유

그것은 바로 우리가 바로 위에서 만난 요점입니다. 가상 머신은 속도가 느리고 거부 할 필요는 없지만 실제로 선호하는 선택을 할 수있는 몇 가지 장점이 있습니다.

  • 가상 머신은 격리 된 환경을 제공합니다코드 실행을 위해. 따라서 앱에 핵심 OS를 손상시킬 수있는 악성 코드가 포함되어 있어도 시스템 파일에 직접 영향을 미치지 않으므로 핵심 OS가 손상되지 않습니다. 대규모 이점은 운영 체제의 안정성과 안정성이 더 뛰어납니다.
  • Play 스토어를 통해 제공되는 앱 APK(또는 그 문제에 대한 다른 소스) 개발자가 실행하기 전에 컴파일하고 장치에서 실행하기 위해 가상 컴퓨터에 의존하는 컴파일되지 않은 명령어입니다. 이것은 더 많은 호환성을 제공합니다. 개발자가 이미 컴파일 된 코드를 제공하고 Snapdragon 기반 프로세서 용으로 컴파일 된 경우 Tegra 칩에서 제대로 실행되지 않을 수 있습니다. 따라서이 장치 컴파일은이 문제를 해결합니다.

그렇다면 Dalvik은 무엇이고 무엇이 잘못 되었나요?

그게 질문이 아닌가? Dalvik은 2007 년에 Android가 시작된 이래로 존재 해 왔으며, Android 2.2 Froyo에 도입 된 JIT (Just-In-Time) 컴파일 방식과는 별개로 그 이후로 크게 바뀌지 않았습니다. 시작하거나 사용자가 필요한 지침을 제공 할 때 코드를 실행할 때마다 한 줄씩 코드를 컴파일하고 실행했던 기존의 기존 인터프리터 접근 방식에 비해 개선 된 점은 유용하지만 앱을 처음 시작할 때 단점이 있습니다.

시스템이 서로 연결되어야하기 때문입니다필요한 모든 파일을 컴파일하고 앱을 컴파일하여 RAM에로드하십시오. 컴파일 된 앱이 RAM에 머무르는 한 계속해서 빠르게 응답하지만 더 많은 앱을로드하고 RAM이 소진되면 첫 번째 앱이 언로드되므로 후속 실행시 전체 프로세스가 다시 시작됩니다. 이 접근법은 종이에 의미가 있으며 실제로 플랫폼에 대해 지금까지 잘 작동했습니다. 그러나 로딩 / 언 로딩주기가 더 자주 지속되므로 시스템의 전반적인 응답 속도가 느리기 때문에 RAM이 제한된 구형 장치가 가장 많이 사용됩니다. 새로운 가상 머신 인 ART가 등장합니다.

ART 란 무엇이며 어떻게 개선합니까?

ART 또는 Android RunTime (예쁜 이름)Google은 Android 4.4 KitKat을 개발자 옵션으로 도입 한 새로운 실험용 가상 머신입니다 (Dalvik은 여전히 ​​기본값으로 설정되어 있습니다). ART와 Dalvik의 주요 차이점은이 두 가지 사용 방식의 컴파일 방식입니다. ART는 Dalvik의 JIT와 달리 AOT (Ahead-Of-Time) 개념을 채택하여 기본적으로 앱이 시작되기 전에 앱을 컴파일합니다. 즉, 처음 설치하면 시간이 오래 걸리고 앱은 내부 저장소에서 더 많은 공간을 차지하지만 동시에 앱이 설치되는 즉시 완전히 컴파일되므로 시작 시간이 훨씬 빨라집니다. 마찬가지로 설치시 컴파일 부분을 한 번만 처리하므로 프로세서 세금이 낮아 배터리 수명과 전반적인 성능이 향상됩니다.

달빅 대 예술 – 비교

계속 진행하기 전에 두 가상 머신을 간단히 비교해 봅시다.

달빅

미술

JIT (Just-In-Time) 방식을 사용하므로 스토리지 공간 소비는 줄어들지 만 앱로드 시간은 길어집니다.AOT (Ahead-Of-Time) 방식을 사용하여 앱을 설치할 때 컴파일하여로드 시간을 단축하고 프로세서 사용량을 줄입니다.
캐시는 시간이 지남에 따라 쌓이므로 부팅 시간이 더 빠릅니다.처음 부팅 할 때 캐시가 구축되므로 재부팅하는 데 시간이 훨씬 오래 걸림
차지하는 공간이 적을수록 더 낮은 내부 저장 장치에 적합APK 외에도 컴파일 된 앱을 저장하기 때문에 훨씬 더 많은 내부 저장 공간을 소비합니다.
안정적인 시간 테스트 – 앱 개발자를위한 VM 선택실험적이고 새로운 기능 – 아직 앱 개발자의 많은 지원이 아님

ART가 실험적이라고 말하면…

예, 지금은Snapdragon 칩셋이 있고 Android 4.4 KitKat을 실행하는 장치 원하는 경우 숨겨진 개발자 옵션에서 Dalvik에서 ART로 전환하는 옵션이 있지만 일부 앱은 제대로 작동하지 않을 수 있습니다. 또한 Dalvik에 앱 캐시가 이미 구축 된 경우 전환 후 처음 재부팅하는 데 최대 30 분이 걸릴 수 있습니다.

Google은 주로 ART를개발자를위한 KitKat은 미래에 영구적 인 전환을위한 토대를 마련합니다. 그리고 이것이 ART가 오늘날 사용할 준비가되었다는 것을 의미하지는 않습니다. 앞으로 나올 것이지만 현재로서는 실험용이며 최종 사용자가 매일 사용하기에 적합하지 않습니다.

ART의 이점은 혼합되어 있습니다보고서. 대부분의 검토 자들에게 테스트 장치는 2 기가 이상의 RAM을 갖춘 쿼드 코어 프로세서로 구성되는데, 이는 ART의 속도 향상을 실제로 관찰하기에 적합한 설정 이상입니다. 그러나 임의의 사용자는 배터리 속도가 50 % 이상, 배터리 수명이 30 % 이상 증가한다고보고했습니다. 또 다른 사람들은 그것이 위약 효과에 지나지 않는다고 주장합니다.

모든 공정성에서, 그 전에는 아무 것도 말할 수 없습니다대량으로 사용할 수있게되고 실험 태그를 잃습니다. 따라서 나중에 토론을 저장하겠습니다. 이 시점에서 확실하게 말할 수있는 것은 ART가 미래라는 것입니다. 구글은 iOS와 진정으로 대응하기 위해 컴파일 시간을 앞두고 ART가 그 길을 열게 될 것입니다. 이름이 아무리 어리 석거나 불완전 할지라도 ART는 점점 더 많이 보게 될 것입니다.

코멘트