यदि यह आपकी चिंता का हिस्सा है, तो एक स्थिर पुस्तकालय केवल प्रासंगिक है। फाइलें एक साथ संग्रहित की गई हैं और कुछ बहीखाता भी है। तो एक 1.7 एमबी स्थैतिक पुस्तकालय - भले ही उसके भीतर का कोड संपूर्ण 1.7 एमबी है - आमतौर पर आपके उत्पाद में 1.7 एमबी नहीं जोड़ देगा। मृत कोड अलग करने के बारे में सामान्य नियम लागू होंगे।
इससे परे कि आप अपने कोड के निर्मित आकार को कम कर सकते हैं। निम्नलिखित शायद एक व्यापक सूची नहीं है।
अपने लक्ष्य की बिल्ड सेटिंग्स में 'अनुकूलन स्तर' की तलाश करें। इसे 'सबसे तेज़, सबसे छोटा-ओ' पर स्विच करके आप संकलक को आकार के लिए कुछ गति बलिदान करने की अनुमति देंगे।
सुनिश्चित करें कि आप अंगूठे के लिए निर्माण कर रहे हैं, अधिक कॉम्पैक्ट एआरएम कोड। मान लें कि आप एलएलवीएम का उपयोग कर रहे हैं जिसका मतलब है कि आपके पास अपनी परियोजना सेटिंग्स में कहीं भी -mno-thumb
नहीं है।
यह भी विचार करें कि आप किस आर्किटेक्चर के लिए निर्माण करना चाहते हैं। ऐप्पल एआरएमवी 6 और आईफोन 5 स्क्रीन दोनों का समर्थन करने वाले ऐप को प्रस्तुत करने की अनुमति नहीं देता है और नवीनतम एक्सकोड से पूरी तरह से एआरएमवी 6 समर्थन छोड़ देता है। तो इस बिंदु पर शायद कोई बिंदु नहीं है।
+1 यह इंगित करने के लिए कि एक लाइब्रेरी का आकार बिल्कुल बाइनरी आकार में नहीं जोड़ा जाएगा क्योंकि लिंकर आमतौर पर बड़े समय को अनुकूलित करेगा। – Till
धन्यवाद, @ टॉमी। इससे चीजें बहुत साफ हो जाती हैं – johngraham
@ टॉमी क्या हुआ यदि उपयोगकर्ता निर्दिष्ट -all_load या -force_load निर्दिष्ट करता है? – klefevre