다른 곳에서 언급했듯이 주요 문제는 Android가 다양한 하드웨어에서 실행되도록 휴대용 OS로 설계되었다는 것입니다. 또한 기존의 많은 모바일 개발자에게 익숙한 프레임 워크와 언어를 기반으로합니다.
마지막으로, 나는 그것이 미래에 대한 내기라고 말하고 싶습니다. 어떤 성능 문제가 존재하든 하드웨어가 향상됨에 따라 무의미해질 것입니다. 개발자는 POSIX / Unix API로 코딩했습니다.
대부분의 애플리케이션에서 네이티브보다 VM 기반 언어를 사용하는 오버 헤드는 크지 않습니다 (Twitter와 같은 웹 서비스를 사용하는 앱의 병목은 대부분 네트워킹입니다). Palm WebOS는 또한 이것을 보여줍니다. 자바 대신 자바 스크립트를 메인 언어로 사용합니다.
거의 모든 VM JIT가 네이티브 코드로 컴파일된다는 점을 감안할 때 원시 코드 속도는 종종 네이티브 속도와 비슷합니다. 높은 수준의 언어로 인한 많은 지연은 다른 요소 (복잡한 개체 런타임, 경계 검사를 수행하여 메모리 액세스를 '안전성'검사하는 등)보다 VM 오버 헤드와 관련이 적습니다.
또한 응용 프로그램을 작성하는 데 사용되는 언어에 관계없이 많은 실제 작업이 하위 수준 API에서 수행된다는 점을 기억하십시오. 최상위 언어는 종종 API 호출을 함께 연결하는 것입니다.
물론이 규칙에는 전화 하드웨어의 한계를 뛰어 넘는 게임, 오디오 및 그래픽 앱과 같은 많은 예외가 있습니다. iOS에서도 개발자는 이러한 영역에서 속도를 높이기 위해 종종 C / C ++를 사용합니다.