Như đã đề cập ở phần khác, vấn đề chính là Android được thiết kế như một hệ điều hành di động, để chạy trên nhiều loại phần cứng. Nó cũng xây dựng trên một khuôn khổ và ngôn ngữ quen thuộc với nhiều nhà phát triển di động hiện tại.
Cuối cùng, tôi muốn nói rằng đó là một cuộc đánh cược với tương lai - bất kỳ vấn đề hiệu suất nào tồn tại sẽ trở nên không liên quan khi phần cứng được cải thiện - bằng cách yêu cầu các nhà phát triển viết mã chống lại sự trừu tượng, Google có thể tách ra và thay đổi hệ điều hành cơ bản dễ dàng hơn nhiều so với các nhà phát triển đã mã hóa các API POSIX / Unix.
Đối với hầu hết các ứng dụng, chi phí sử dụng ngôn ngữ dựa trên VM thay vì ngôn ngữ gốc là không đáng kể (nút cổ chai đối với các ứng dụng sử dụng dịch vụ web, như Twitter, chủ yếu là mạng). Palm WebOS cũng thể hiện điều này - và sử dụng JavaScript thay vì Java làm ngôn ngữ chính.
Do hầu hết tất cả các máy ảo JIT đều biên dịch thành mã gốc, tốc độ mã thô thường có thể so sánh với tốc độ gốc. Nhiều sự chậm trễ do các ngôn ngữ cấp cao hơn ít liên quan đến chi phí VM hơn các yếu tố khác (thời gian chạy đối tượng phức tạp, kiểm tra quyền truy cập bộ nhớ 'an toàn' bằng cách thực hiện kiểm tra giới hạn, v.v.).
Cũng nên nhớ rằng bất kể ngôn ngữ được sử dụng để viết ứng dụng là gì, rất nhiều công việc thực tế được thực hiện trong các API cấp thấp hơn. Ngôn ngữ cấp cao nhất thường chỉ là chuỗi các lệnh gọi API với nhau.
Tất nhiên, có nhiều ngoại lệ cho quy tắc này - trò chơi, ứng dụng âm thanh và đồ họa đẩy giới hạn của phần cứng điện thoại. Ngay cả trên iOS, các nhà phát triển thường giảm xuống C / C ++ để có được tốc độ trong các lĩnh vực này.