2010-07-09 19 views
30

मैं एंड्रॉइड के एनडीके में नया हूं और मुझे स्थिर और साझा पुस्तकालयों के बीच मतभेदों को समझ में नहीं आता है। वे क्या हैं, और मैं दूसरे पर एक प्रकार का चयन कब करूंगा?एंड्रॉइड के एनडीके में स्थिर और साझा पुस्तकालयों के बीच अंतर?

उत्तर

47

साझा लाइब्रेरी शब्द एंड्रॉइड के एनडीके के संबंध में एकदम सही फिट नहीं है, क्योंकि कई मामलों में .so पुस्तकालय वास्तव में अनुप्रयोगों के बीच साझा नहीं होते हैं। पुस्तकालयों को वर्गीकृत करना बेहतर है कि एनडीके स्थिर और गतिशील के रूप में बनाता है।

हर एंड्रॉयड आवेदन एक जावा अनुप्रयोग है, और NDK कोड के लिए ही प्रवेश बिंदु एक गतिशील पुस्तकालय के रूप में यह लोड हो रहा है और कॉल यह JNI गर्त है।

स्टेटिक पुस्तकालयों संकलित वस्तु फ़ाइलों के अभिलेखागार कर रहे हैं। वे बिल्डिंग समय पर अन्य पुस्तकालयों में बंडल हो जाते हैं। स्थिर पुस्तकालयों से कोड का अप्रयुक्त भाग एनडीके द्वारा कुल आकार को कम करने के लिए छीन लिया जाता है।

गतिशील पुस्तकालयों अलग फ़ाइलों से कार्यावधि में लोड किए गए हैं। उनमें स्थैतिक पुस्तकालय हो सकते हैं कि वे अधिक गतिशील पुस्तकालयों पर निर्भर हैं या लोड कर रहे हैं।

तो क्या आप वास्तव में एंड्रॉयड विकास के लिए की जरूरत कम से कम एक शेयर की गई लाइब्रेरी, कि जावा कोड से बुलाया जाएगा, और इसे लिंक के साथ यह स्थिर पुस्तकालयों अधिमानतः के रूप में निर्भरता है।

+2

स्वच्छ एक संक्षिप्त .. धन्यवाद – baash05

+1

सच महान जवाब –

+0

धन्यवाद, वास्तव में अच्छा जवाब। मुद्दे पर। –

0

मूल निवासी साझा पुस्तकालयों: NDK अपनी मूल स्रोत कोड से, इन पुस्तकालयों, या .so फ़ाइलें बनाता है। मूल निवासी स्थिर पुस्तकालयों: NDK भी स्थिर पुस्तकालयों, या ए फ़ाइलें, जो आप अन्य पुस्तकालयों के खिलाफ लिंक कर सकते हैं बना सकते हैं।

यह NDK प्रलेखन के अनुसार है

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