2011-05-14 9 views
9

मेरा आईफोन ऐप उत्पादन में जाने के लिए तैयार हो रहा है और हम जितना संभव हो उतना डेटा क्रैक करना पसंद करते हैं। जब मैं अपने आवेदन के लिए जेनरेट की गई .app फ़ाइल के चारों ओर पोक करता हूं तो मुझे < नामक फ़ाइल > नामक फ़ाइल दिखाई देती है जो मुझे लगता है कि संकलित कोड है। यह लगभग 2.5 मेग्स है जो मेरे ऐप में जो कुछ भी शामिल है उसके लिए बड़ा लगता है। यह सुनिश्चित करने के लिए मुझे किस प्रकार की चीजों की जांच करनी चाहिए कि मेरे निष्पादन योग्य में कोई अनियंत्रित आइटम शामिल नहीं है?आईफोन ऐप के कोड आकार को कैसे कम करें?

उत्तर

5

ऐसी कई चीजें हैं जो आप कर सकते हैं - 2.5 एमबी एक छोटा ऐप है।

  • एक स्पष्ट तरीका यह सत्यापित करना है कि आपकी बाइनरी वास्तव में छीन ली गई है। यह अप्रयुक्त संदर्भों को हटा देता है (जैसे फ़ंक्शन जिन्हें वास्तव में नहीं कहा जाता है) और डीबगिंग जानकारी।

  • लिंक टाइम ऑप्टिमाइज़ेशन (एलटीओ) आपको अंतरिक्ष का एक टन बचा सकता है, हालांकि यह आपके प्रोग्राम के सी और सी ++ पहलुओं पर लागू होता है। यह मेरे कार्यक्रमों में से एक को लगभग 1/5 आकार तक लाया।

  • अनुकूलन सेटिंग्स के साथ खेलो। O3 और O2 अक्सर Os से छोटी बाइनरी उत्पन्न करते हैं।

  • अपने आश्रित पुस्तकालयों का ट्रैक रखें। उनके निर्यातित प्रतीक अपेक्षाकृत बड़े हो सकते हैं।

  • बड़ी परियोजनाओं में साझा पुस्तकालयों के लिए सी या सी ++ का पक्ष लें। अगर अप्रयुक्त, तो उन्हें छीन लिया जा सकता है या अनुकूलित किया जा सकता है।

  • static डेटा और static कार्यों को कम करें, सी, सीपीपी, एम, मिमी फ़ाइल में अपने दायरे को सीमित करें।

+0

मुझे लगता है कि मुझे सामान्य विचार पता है लेकिन मैं एक्सकोड में ऐसा करने के बारे में कैसे जाऊं? मैं उम्मीद कर रहा था कि कोई मुझे <डबल-क्लिक प्रोजेक्ट> -> बिल्ड में कुछ सेटिंग्स बताएगा जिससे मैं गड़बड़ कर सकता हूं। – TurqMage

+0

कई स्ट्रिप विकल्प हैं, सभी लागू नहीं होंगे। बस लक्ष्य के निर्माण सेटिंग पैनल पर जाएं और 'स्ट्रिप' खोजें। आप डीबग बिल्ड को पट्टी नहीं करना चाहते हैं। – justin

2

शायद मैं 2.5 एमबी होने के बारे में अत्यधिक चिंतित नहीं हूं, लेकिन यदि आप यह सुनिश्चित करने में उचित परिश्रम करना चाहते हैं कि आप केवल वही हैं जो वास्तव में आवश्यक है, तो मैं सभी को देखता हूं संसाधन फाइलें (छवियां, विचार, फिल्में, आदि) कि आपकी परियोजना संदर्भ और सुनिश्चित करें कि उनमें से सभी एप्लिकेशन द्वारा उपयोग किए जा रहे हैं।