2013-08-08 9 views
6

अब तक, मैंने अधिकांश परियोजनाओं में नियमित एसडीके का उपयोग किया था, और केवल Google एपीआई एसडीके का इस्तेमाल किया था जब परियोजना Google की कुछ सुविधाओं का उपयोग करेगी।क्या कोई अच्छा कारण है कि हमें हमेशा Google एपीआई एसडीके का उपयोग नहीं करना चाहिए?

अब मुझे आश्चर्य है कि क्या कोई अच्छा कारण है कि मुझे हमेशा Google एपीआई एसडीके का उपयोग नहीं करना चाहिए?

उत्तर

4

Google सेवाओं के बिना डिवाइस इंस्टॉल हैं। इस मामले में Google एपीआई उपलब्ध नहीं है। Google एपीआई एसडीके का उपयोग न करके, आपका ऐप अभी भी इन उपकरणों पर चल सकता है।

उदा। किंडल फायर पर विचार करें, इसमें Play Store इंस्टॉल नहीं है, साथ ही विभिन्न कम-बजट टैबलेट और चीनी फोन भी हैं। कस्टम-ओपन-सोर्स कोड से कस्टम बनाता है जैसे कि साइनोजनमोड में Google ऐप्स इंस्टॉल नहीं होते हैं (हालांकि कई उपयोगकर्ता उन्हें मैन्युअल रूप से जोड़ते हैं)।

हालांकि एंड्रॉइड स्वयं खुला स्रोत है, Google ऐप्स को विक्रेता से Google से लाइसेंस प्राप्त करने की आवश्यकता होती है। मुझे यह पता है क्योंकि Google द्वारा कस्टम ऐप को उनके ऐप्स शामिल नहीं करने के लिए कहा गया था। Play Store की बजाय अपनी खुद की दुकान रखने के लिए कुछ निर्माताओं के लिए आकर्षक है क्योंकि तब उन्हें Google को सभी मुनाफे देने की बजाय राजस्व का हिस्सा मिलता है। यही कारण है कि सभी उपकरणों में उन्हें नहीं है।

+0

हां, किंडल फायर एक अच्छा कारण हो सकता है! लेकिन फिर, मैंने कभी भी एक विपरीत सलाह नहीं देखी है जैसे "हर समय Google एपीआई का उपयोग करें, लेकिन जब आप इसका उपयोग नहीं कर सकते तो XY स्थितियों का ख्याल रखें"। यहां तक ​​कि Google डेवलपर टीम नियमित रूप से Google एपीआई एसडीके का उपयोग करने की सलाह नहीं देती है। – sandalone

+2

मुझे लगता है कि एक और कारक यह हो सकता है कि यह संभवतः आपके बाइनरी में कुछ ब्लोट जोड़ता है जिसे आप इसका उपयोग नहीं करते हैं, तो इससे बचा जा सकता है। –

+0

Google ऐप्स के बिना डिवाइस पर अच्छा अवलोकन। मुझे लाइसेंस के बारे में पता नहीं था, लेकिन फिर, यह बहुत तार्किक है :)। इसके अलावा मैंने कभी भी Play Store ऐप के बिना सस्ते चीनी डिवाइस नहीं देखा है। शायद मैं अब तक निम्न स्तर के उपकरणों का उपयोग नहीं कर रहा था। – sandalone

1

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

मुझे यकीन नहीं है कि Google एपीआई एसडीके का उपयोग करके अपने ऐप का निर्माण करके मेमोरी/स्टोरेज में कितनी अतिरिक्त जगह ली जाएगी, लेकिन मैं कल्पना नहीं कर सकता कि यह 0 है, और मोबाइल डेवलपमेंट में आप वास्तव में बर्दाश्त नहीं कर सकते संसाधन उपयोग के साथ न्यायसंगत नहीं होना चाहिए।

+1

मुझे प्रोजेवार्ड के साथ आपकी बाइनरी को अनुकूलित करने का मानना ​​है कि इस संबंध में अधिकांश चिंताओं को कम करना चाहिए। –

+1

यह संसाधन उपयोग के मुद्दों को कम कर सकता है, लेकिन यह जटिलता के मुद्दे को और भी खराब कर देता है। यह एक और बात है कि (सैद्धांतिक रूप से) टूट सकती है, जो चीज आपने जोड़ी है, उसके ऊपर भी तोड़ सकती है, और आपको कोई लाभ नहीं मिला। – sigmabeta

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