Seperti disinggung di tempat lain, masalah utamanya adalah Android dirancang sebagai OS portabel, untuk berjalan di berbagai perangkat keras. Itu juga membangun kerangka kerja dan bahasa yang akrab bagi banyak pengembang seluler yang ada.
Akhirnya, saya akan mengatakan ini adalah taruhan melawan masa depan - masalah kinerja apa pun yang ada akan menjadi tidak relevan karena perangkat keras meningkat - sama dengan membuat pengembang membuat kode terhadap abstraksi, Google dapat merobek dan mengubah OS yang mendasarinya jauh lebih mudah, daripada jika pengembang sedang membuat kode ke API POSIX / Unix.
Untuk sebagian besar aplikasi, overhead penggunaan bahasa berbasis VM dibandingkan native tidak signifikan (hambatan untuk aplikasi yang menggunakan layanan web, seperti Twitter, sebagian besar adalah jaringan). Palm WebOS juga mendemonstrasikan ini - dan itu menggunakan JavaScript daripada Java sebagai bahasa utama.
Mengingat bahwa hampir semua VM JIT dikompilasi ke kode asli, kecepatan kode mentah sering kali sebanding dengan kecepatan asli. Banyak penundaan yang dikaitkan dengan bahasa tingkat yang lebih tinggi tidak terlalu berkaitan dengan overhead VM dibandingkan faktor lainnya (runtime objek yang kompleks, pemeriksaan 'keamanan' akses memori dengan melakukan pemeriksaan batas, dll).
Ingat juga bahwa terlepas dari bahasa yang digunakan untuk menulis aplikasi, banyak pekerjaan sebenarnya yang dilakukan di API tingkat yang lebih rendah. Bahasa tingkat atas sering kali hanya merangkai panggilan API.
Tentu saja ada banyak pengecualian untuk aturan ini - aplikasi game, audio, dan grafik yang mendorong batasan perangkat keras ponsel. Bahkan di iOS, pengembang sering menggunakan C / C ++ untuk mendapatkan kecepatan di area ini.