जैसा कि कहीं और पर छुआ गया है, मुख्य मुद्दा यह है कि एंड्रॉइड को एक पोर्टेबल ओएस के रूप में डिज़ाइन किया गया है, जो विभिन्न प्रकार के हार्डवेयर पर चलने के लिए है। यह एक फ्रेमवर्क और कई मौजूदा मोबाइल डेवलपर्स से परिचित भाषा पर भी निर्माण कर रहा है।
अंत में, मैं कहूंगा कि यह भविष्य के खिलाफ एक दांव है - जो भी प्रदर्शन के मुद्दे मौजूद हैं वे अप्रासंगिक हो जाएंगे क्योंकि हार्डवेयर में सुधार होगा, डेवलपर्स को एक अमूर्त के खिलाफ कोड करने के लिए समान रूप से, Google चीर-बाहर हो सकता है और अंतर्निहित ओएस को आसानी से बदल सकता है, जैसे कि डेवलपर्स POSIX / Unix API को कोड कर रहे थे।
अधिकांश अनुप्रयोगों के लिए मूल निवासी VM- आधारित भाषा का उपयोग करने का ओवरहेड महत्वपूर्ण नहीं है (वेब की तरह वेब सेवाओं का उपभोग करने वाले ऐप्स के लिए अड़चन, ज्यादातर नेटवर्किंग है)। पाम वेबओएस भी यह प्रदर्शित करता है - और यह जावा की बजाय मुख्य भाषा के रूप में जावास्क्रिप्ट का उपयोग करता है।
यह देखते हुए कि लगभग सभी वीएम जेआईटी देशी कोड के लिए संकलित हैं, कच्चे कोड की गति अक्सर मूल गति के साथ तुलनीय होती है। उच्च-स्तरीय भाषाओं के लिए जिम्मेदार बहुत सी देरी अन्य कारकों की तुलना में वीएम ओवरहेड के साथ करने के लिए कम है (एक जटिल वस्तु क्रम, 'सुरक्षा' सीमा की जाँच करके मेमोरी एक्सेस की जाँच)।
यह भी याद रखें कि किसी एप्लिकेशन को लिखने के लिए उपयोग की जाने वाली भाषा की परवाह किए बिना, निचले स्तर के एपीआई में बहुत सारे वास्तविक काम किए जाते हैं। शीर्ष स्तर की भाषा अक्सर एपीआई कॉलिंग का एक साथ पीछा करती है।
बेशक, इस नियम के कई अपवाद हैं - गेम, ऑडियो और ग्राफिक्स ऐप जो फोन हार्डवेयर की सीमाओं को धक्का देते हैं। यहां तक कि iOS पर भी, डेवलपर्स अक्सर इन क्षेत्रों में गति प्राप्त करने के लिए C / C ++ तक छोड़ देते हैं।