(जो आदर्श तरीका होना चाहिए) करने का इरादा सिफारिश की है
जहां तक मुझे समझा गया, समर्थन पुस्तकालय अंतर्निहित एपीआई के विकल्प के रूप में काम कर सकते हैं, लेकिन ऐसा नहीं होना चाहिए, क्योंकि वे सीधे आवेदन के आकार को प्रभावित करते हैं।
उदाहरण के लिए, एक समर्थन पुस्तकालय 2 एमबी है, और इसकी कार्यक्षमता का उपयोग करने के लिए, यह सभी वर्गों, संसाधनों, आदि (2 एमबी) लेता है, इसलिए अब classes.dex
(आवेदन में इस्तेमाल होने वाले सभी वर्गों की दल्विक निष्पादन योग्य फ़ाइल) एप्लिकेशन में संसाधन लाइब्रेरी कक्षाएं भी शामिल हैं, और संसाधनों के लिए समान हैं। इसलिए, अगर समर्थन पुस्तकालय के बिना मेरा ऐप आकार 1 एमबी था, तो अब समर्थन पुस्तकालय के साथ आकार 2 एमबी अतिरिक्त है, जिसका अर्थ है 3 एमबी कुल।
अब, मान लीजिए कि यह समर्थन लाइब्रेरी सुविधा इतनी आम है कि एकल डिवाइस पर, यदि मेरे पास 10 ऐप्स हैं, तो कम से कम 9 इस समान समर्थन लाइब्रेरी का उपयोग कर रहे हैं, इसलिए मेरे डिवाइस पर 9 * 2 = 18 एमबी का उपयोग किया जा रहा है एक ही समर्थन लाइब्रेरी, जिसे हर एप्लिकेशन में दोहराया जाता है, जो खराब है, क्योंकि अब 18 एमबी इतनी ज्यादा नहीं हो सकती है, लेकिन यदि आपके पास उस समर्थन लाइब्रेरी का उपयोग करके अधिक एप्लिकेशन हैं, तो आवश्यक स्थान बढ़ सकता है।
इस प्रकार, सबसे अच्छा विकल्प यह है कि प्रत्येक एप्लिकेशन के लिए इसे किसी भी ऐप के लिए पहले से ही आपके ओएस में 2 एमबी समर्थन लाइब्रेरी रखना है। इसलिए, समर्थन पुस्तकालयों का उपयोग तब किया जाना चाहिए जब आप वास्तव में पुराने संस्करणों का समर्थन करने के लिए अपने ऐप में कुछ कुशल सुविधाएं चाहते हैं।
एक और सवाल यहां उठता है:
क्यों इस समर्थन पुस्तकालय, अपने स्वयं के अद्यतन के रूप में ओएस में जोड़ा जाता है नहीं तो यह है कि आकार समस्याओं के बिना हर अनुप्रयोग है कि कार्यक्षमता का उपयोग कर सकते हैं?
उत्तर यह है कि बहुत सारी त्रुटियां हो सकती हैं। मान लीजिए कि कुछ उपयोगकर्ता के पास उस अद्यतन (समर्थन लाइब्रेरी) स्थापित नहीं है ...
यह भी मौका है कि एक अद्यतन के रूप में, यह माना जा सकता है कि यह उतना कुशल नहीं हो सकता है, या इसके साथ एकीकृत होने पर समस्याएं हो सकती हैं ओएस, जैसा कि हमने पहले ही देखा है कि प्रत्येक ओएस (विंडोज़, लिनक्स, मैक) सभी नए फीचर्स के लिए जीवन समय के अपडेट देने के बजाय नए संस्करणों के साथ आता है।
यदि डेवलपर को समर्थन लाइब्रेरी प्रदान करने वाली किसी भी सुविधा की आवश्यकता नहीं है, तो सुनिश्चित करें, इसका उपयोग न करें। हालांकि, चीजों की भव्य योजना में, 2 एमबी वास्तव में इतना अधिक नहीं है, और मैं एक ऐसे काम पर एक अच्छी तरह से काम करने वाला और पिछड़ा-संगत ऐप पसंद करूंगा जो इसे अपने नंगे हड्डियों में फंस गया है क्योंकि जो भी इसे विकसित करता है, वह चिंतित था कि एपीके बहुत बड़ा था। इसके अलावा, आप संभवतः प्रोजेवार्ड का उपयोग एप्लिकेशन के एपीके फ़ाइल आकार को कम/संपीड़ित करने के लिए कर सकते हैं। –
इतने सारे लंबे वाक्य ... बिंदु पाने के लिए वास्तव में मुश्किल है। – CDT
मैं उस उपयोगकर्ता पर आपके उत्तर से असहमत हूं जिसमें समर्थन लाइब्रेरी नहीं है, जिससे बहुत सारी त्रुटियां हो सकती हैं। मैनिफेस्ट फ़ाइल पहले से ही आपको अपने ऐप को केवल एक निश्चित ओपनजीएल संस्करण वाले डिवाइस पर काम करने की अनुमति देती है। वे समर्थन पुस्तकालय के लिए भी ऐसा ही कर सकते थे, नरक वे किसी पुस्तकालय पर गतिशील निर्भरता की अनुमति देने के लिए कार्यक्षमता भी बढ़ा सकते थे। इस प्रकार यह वर्तमान में अधिकांश लिनक्स-आधारित ऑपरेटिंग सिस्टम पर पहले ही किया जा चुका है। –