2011-10-27 10 views
9

मैं एक ऐप विकसित कर रहा हूं जिसमें काम करने के लिए बहुत सारी छवियां हैं जिनके कारण मेरा ऐप का आकार बहुत बड़ा हो गया है। मैं ऐप के आकार को कम करने के लिए संपीड़ित या ऐसा कुछ करना चाहता हूं। कोई उपाय? अपने ऐप के संकलनछवियों के कारण बड़े ऐप आकार। पीएनजी छवियों को कैसे संपीड़ित करें?

उत्तर

9

.png -files जो res/drawable में रखा जाता है automatically optimized हैं:

बिटमैप फ़ाइलें स्वचालित रूप से निर्माण प्रक्रिया के दौरान किए गए aapt टूल द्वारा संपीड़न दोषरहित छवि के साथ अनुकूलित किया जा सकता है। उदाहरण के लिए, एक सच रंग पीएनजी कि अधिक से अधिक 256 रंग की आवश्यकता नहीं है हो सकता है एक रंग पैलेट के साथ PNG एक 8 बिट करने के लिए परिवर्तित। इसके परिणामस्वरूप समान गुणवत्ता की छवि होगी, जिसके लिए कम स्मृति की आवश्यकता होगी। तो से अवगत रहें कि इस निर्देशिका में रखी गई छवि द्विआधारी बिल्ड के दौरान बदल सकती हैं। आप करने के क्रम में एक सा धारा के रूप में एक छवि पढ़ने यह एक बिटमैप में बदलने की योजना है, res/कच्चे/फ़ोल्डर बजाय, जहां वे अनुकूलित नहीं किया जाएगा में अपनी छवियों को डाल दिया।

कहा जा रहा है कि आपके पास प्रयास करने के लिए कुछ और विकल्प हैं। Google I/O 2016 से "Image Compression for Android Developers" नामक इस विषय पर एक अच्छी बात है, जो संभावनाओं को रेखांकित करता है, उनके ऊपर और डाउनसाइड्स बताता है और कुछ सामान्य सर्वोत्तम प्रथाओं को देता है।


आपके आवेदन के आकार उच्च है तो बाजार पर प्रकाशित करने के लिए, आप या तो

  • जहाज आपकी छवियों के बिना एप्लिकेशन और उन्हें इंटरनेट से फोन एसडी करने के लिए लोड कर सकते हैं करेंगे -card जब एप्लिकेशन पहली बार शुरू किया गया है
  • उपयोग Androids के मालिक हैं APK Extension Files, जो मूल रूप से एक ही है, लेकिन आप सब कुछ अपने आप को क्या करने की जरूरत नहीं है।
2

आप पृष्ठभूमि के लिए 9-पैच उपयोग करते हैं? इसके अलावा आप छवि मैगिक या किसी बैच या छवियों को संपीड़ित करने के समान कुछ भी उपयोग कर सकते हैं।

+0

मैं अपनी परियोजना में .png छवियों का उपयोग कर रहा हूं। मैंने वेब पर इमेजमैजिक देखा है लेकिन छवि मेमोरी आकार को कम करने के लिए कमांड को खोजने में असमर्थ है। क्या आप मुझे पता लगाने में मदद कर सकते हैं? –

+0

आपको निम्न गुणवत्ता – njzk2

5

पीएनजी छवियों के आकार को कम करने के लिए pngquant या posterizer का उपयोग करें (ये उपकरण हानिकारक हैं, लेकिन महत्वपूर्ण बचत देते हैं)।

तुम भी PNGOUT, जो सबसे अच्छा दोषरहित optimizers में से एक है के साथ उन्हें अनुकूलित कर सकते हैं।

मैं उन लोगों के लिए Mac GUI लिखा है।

+0

pngquant का उपयोग कर छवि को पुन: सम्मिलित करना होगा बहुत Gooooood.thx – mghhgm

+0

@ कॉर्नेल अभी भी काम करता है? बस Pngyu जीयूआई के साथ कोशिश की और छवियों को केवल मेरे एमुलेटर में, मेरे फोन पर प्रदर्शित नहीं किया जा रहा है। –

+0

@ श्री चार्ली 3 हां। एंड्रॉइड समर्थन (कस्टम हिस्सों को संरक्षित करने के लिए) सुनिश्चित करें कि आपके पास libpng 1.6 या नए ('pngquant -h') के साथ संकलित pngquant है। मैं pngyu बनाए रखने नहीं है। आधिकारिक ओएस एक्स बिल्ड निश्चित रूप से ठीक है। – Kornel

2
  1. ".png" का प्रयास करें और उपयोग करें।
  2. पृष्ठभूमि के लिए 9-पैच छवियों का उपयोग करें।
  3. यदि आपके पास टाइटल बार हैं, तो लंबवत ग्रेडियेंट वाले हेडर, हमेशा 1-पिक्सेल चौड़ाई ढाल छवियों का उपयोग करें। यह एक सुपर सेवर है।
  4. यदि आप फ़ोटोशॉप को पकड़ने में कामयाब होते हैं, तो उनके पास वेब/मोबाइल उपकरणों के लिए छवियों को सहेजने का विकल्प होता है। अच्छी गुणवत्ता के साथ वास्तव में छोटी आकार की छवियों को बनाने में मदद करता है।
  5. यदि आप एकाधिक उपकरणों का समर्थन करते हैं, तो छवियों के विभिन्न संस्करणों को केवल उन लोगों के लिए बनाए रखें जो वास्तव में आवश्यक हैं।
3

हमेशा पीएनजी (.png) छवियों का उपयोग करें। और करने के लिए

https://tinypng.com/

सरल और शांत, हमेशा काम अपनी छवियों को अपलोड करके ऑनलाइन यह सेक। आपका स्वागत है। :)

एंडइंजिन का उपयोग करने का एक बेहतर तरीका भी है, यह आपको प्रत्येक फोन के लिए लेआउट बनाने से बचाता है। और अलग-अलग डीपीआई फोन के लिए अलग-अलग छवियों का उपयोग करने की आवश्यकता नहीं है।

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