यदि कोई सच्चा "सर्वश्रेष्ठ तरीका" था, तो छवियों को लोड करने के साधन कई तरीकों से मौजूद नहीं होंगे (जब तक ऐतिहासिक कारणों से नहीं)। इसलिए, एक छोटी समझ आपको "बेस्ट वे" के जवाब को दूर करने से बेहतर सेवा प्रदान करेगी।
+[UIImage imageNamed:]
पुन: उपयोग के लिए छवि को कैश करता है, और यह अधिकांश उद्देश्यों के लिए एक समझदार डिफ़ॉल्ट है। कैशिंग उत्कृष्ट सही ढंग से उपयोग किया जाता है। कैश अच्छा है क्योंकि यह आपके द्वारा प्रदर्शित होने वाली प्रत्येक छवि के लिए प्रतिलिपि पढ़ने और आवंटित करने के बजाय, लोड की गई छवियों को साझा और पुन: उपयोग करके आपकी डिस्क को पढ़ने और स्मृति उपयोग को कम कर सकता है। एक आइकन छवि पर विचार करें जिसे आप एकाधिक स्क्रीन पर उपयोग करते हैं - क्या आप उस छवि डेटा को हर बार पढ़ और फिर से आवंटित करना चाहते हैं? इसके परिणामस्वरूप समान छवि डेटा के अनावश्यक पठन और आवंटन हो सकते हैं। यदि नहीं, तो कैशिंग विधियों का उपयोग करें।
यदि आप छवि को केवल एक बार और आलसी लोड करते हैं, तो आप गैर-कैशिंग दृष्टिकोण पर विचार करना चाहेंगे।
- छवि डेटा बहुत सारी मेमोरी का उपभोग कर सकता है।
- एक छवि को पढ़ने में काफी समय लग सकता है - न केवल डिस्क I/o, बल्कि इसे उपयोग करने योग्य UIImage प्रतिनिधित्व (जैसे छवि को डिकंप्रेस करना) में परिवर्तित करना।
- ऐसे समय भी हैं जहां आपको छवि का आकार बदलना/स्केल करना चाहिए। तो आप एक स्केल की गई प्रतिलिपि चाहते हैं।
संक्षेप में, कई विचार हैं, लेकिन यदि आपने उचित रूप से स्केल की गई संपत्तियों का उपयोग किया है, तो कैशिंग आमतौर पर सही विकल्प है।
यदि आपकी संपत्ति ठीक से आकार में नहीं है, तो समस्या अधिक मौलिक है - यदि आप प्रदर्शन समस्याओं का सामना कर रहे हैं तो आपको उद्देश्य के लिए उपयुक्त होने के लिए बंडल संपत्तियों का आकार बदलना चाहिए। सर्वोत्तम छवि गुणवत्ता को बनाए रखने के दौरान उचित रूप से आकार की छवियां भी ड्राइंग को काफी सरल बनाती हैं।
आपका मतलब है: '' [UIImage imageNamed: @ "image।पीएनजी "];' '' '' '' '' '' '' –