से Android डेवलपर ब्लॉग लेख Multithreading For Performance में, convertView
ImageView
की एक सूची है, जो HttpRequest.Yet के माध्यम से डाउनलोड कर रहे हैं प्रदर्शित करने के लिए Adapter.getItem()
में प्रयोग किया जाता है, मैं भी कुछ एंड्रॉयड ट्यूटोरियल कि convertView
का उपयोग नहीं करते देखते हैं, और बस एक नई हवा भरना Adapter.getItem()
में देखें।एंड्रॉइड कन्वर्ट व्यू, इसका इस्तेमाल करने के लिए या नहीं?
मुझे आश्चर्य है कि convertView
का उपयोग करने का क्या फायदा है? यह प्रयुक्त दृश्य को रीसायकल कैसे करता है? उपयोग किए गए दृश्य कैश किए जाते हैं?
मैं इस सवाल से पूछता हूं क्योंकि मैंने अपनी परियोजना में convertView
का उपयोग नहीं किया है और मैं इसका उपयोग न करने के लिए लागत जानना चाहता हूं। नीचे छवियों की एक सूची दृश्य का मेरा कार्यान्वयन है।
convertView
का उपयोग करने के बजाय, मैं Adapter.getItem()
में एक नया दृश्य फुलाता हूं। इसके अलावा, मैं listView
के प्रत्येक आइटम में कर्मचारियों को पकड़ने के लिए एक रैपर वर्ग बनाता हूं। एक बार छवि डाउनलोड हो जाने के बाद, इसे प्रत्येक सूची आइटम के लिए रैपर वर्ग में बिटमैप के रूप में संग्रहीत किया जाएगा (छवि छोटी है)। इस तरह, मैं एक ही छवि के डुप्लिकेट डाउनलोडिंग से बच सकता हूं। और यह Multithreading For Performance में बात की गई दौड़ की स्थिति के मुद्दों से भी बचता है। लेकिन मैं अभी भी थोड़ा चिंतित हूं, क्या कोई ऐसी समस्या है जो मेरी विधि का उपयोग करके अच्छा नहीं है?
FYI करें: लेख @Carl एंडरसन द्वारा सिफारिश कैसे convertView अनुकूलक में काम करता है के बारे में जानकारी देता है। इस लेख में सुझाए गए रोमैन गाय द्वारा Google आईओ एक और अच्छा संदर्भ है।
एक शब्द में, कन्वर्ट व्यू का उपयोग करके अंतरिक्ष और समय दोनों अनुकूलित होते हैं। इसके अलावा, मैंने अपनी खुद की छवि डाउनलोडर को छोड़ दिया है और पिकासो का उपयोग किया है जिसे @ कॉमन्सवेयर द्वारा अनुशंसित किया गया है। यह एक सम्मोहन की तरह काम करता है।