2012-08-16 20 views
7

मुझे एंड्रॉइड एपीएस में मूल कोड के जीवन चक्र के बारे में कुछ भ्रम है। मैंने संदर्भ देखे हैं जो कहते हैं कि मूल कोड दलविक वीएम के अंदर निष्पादित किया गया है, लेकिन क्या यह सच है? मैं इस धारणा के तहत था कि वीएम केवल दलविक बाइटकोड चलाता है। दूसरी तरफ, मूल कोड जेएनआई का उपयोग करता है जिसे जावा से वीएम के अंदर बुलाया जाता है। आखिरकार, क्या नेटिव एक्टिविटी का उपयोग कोई फर्क पड़ता है?जहां एनडीके देशी कोड निष्पादित करता है

मैंने सोचा कि मैं एनडीके को काफी अच्छी तरह समझ रहा था, जब तक कि मैं बैठ गया और खुद को समझाने की कोशिश की। मुझे यह भी यकीन नहीं है कि मैं इस सवाल को समझदार तरीके से पूछ रहा हूं।

उत्तर

8

मैंने उन संदर्भों को देखा है जो कहते हैं कि देशी कोड दलविक वीएम के अंदर निष्पादित किया गया है, लेकिन क्या यह सच है?

यह एक प्रक्रिया के अंदर निष्पादित करता है जिसमें एक दलविक वीएम होता है। निजी तौर पर, मैं इसे वीएम के अंदर निष्पादित करने के रूप में वर्णित नहीं करता - जैसा कि आप कहते हैं, दलविक बाइटकोड वीएम के अंदर निष्पादित करता है। "दलविक वीएम के नियंत्रण में" बेहतर वाक्यांश होगा, आईएमएचओ। बेशक, यह "इन" की आपकी परिभाषा को उबालता है, मुझे लगता है।

आखिरकार, मूल सक्रियता का उपयोग कोई फर्क पड़ता है?

वास्तव में नहीं, NativeActivity is implemented in Java के रूप में नहीं। जबकि आप में कोई जावा नहीं हो सकता है, जावा अभी भी आपके मूल कोड को चलाने के कार्य में हल्के ढंग से शामिल है।

+0

चीजों को साफ़ करने के लिए धन्यवाद। मूल गतिविधि अपूर्णता को देखते हुए ऐसा लगता है कि यह वास्तव में जेएनआई को देशी कोड पर कॉल करने के लिए सिर्फ एक रैपर है। – CatShoes

संबंधित मुद्दे