2012-03-19 11 views
14

जब यह एंड्रॉइड विकास और प्रदर्शन आता है, यदि आपके पास छविदृश्य है तो कौन सा तेज या बेहतर होगा (क्या कोई फर्क नहीं पड़ता है!): SetImageResource और setDrawable IKnow एक आईडी लेता है और दूसरा ड्रायवर लेता है। लेकिन मुझे वैसे भी आईडी से ड्रॉबल मिल जाएगा। आपको कौन सा लगता है बेहतर है?setImageResource बनाम सेट करने योग्य

या क्या मुझे छविदृश्य का उपयोग करने से बचने और लोड/ड्रा बिटमैप का उपयोग करना चाहिए? भी कई चयन टिप्पणी

+0

http://stackoverflow.com/questions/11222549/difference-of-setting-an-image-from-resource-to-drawables –

उत्तर

59

वे अलग हैं। Android documents से।

setImageResource: यह बिटमैप पढ़ने और यूआई धागा है, जो एक विलंबता हिचकी पैदा कर सकता है पर डिकोडिंग करता है।

यदि यह कोई चिंता है, तो setImageDrawable (android.graphics.drawable.Drawable) या setImageBitmap (android.graphics.Bitmap) और बिटमैपफ़ैक्टरी का उपयोग करने पर विचार करें।

+2

मेरे ग्रिड व्यू एडाप्टर में मैंने setImageResource का उपयोग किया और यह स्क्रॉलिंग पर लगी हुई थी। जब मैंने सेट इमेज बिटमैप को कॉल बदल दिया, तो ग्रिड व्यू आसानी से स्क्रॉल करना शुरू कर दिया। इन 2 तरीकों का निष्पादन समय स्पष्ट रूप से अलग है। हालांकि, अगर डेवलपर स्थिर विचारों (जो स्थानांतरित नहीं होते हैं) के साथ काम करता है, तो इसका कोई फर्क नहीं पड़ता है। –

+0

योनश, वास्तव में अद्भुत जवाब, यह मेरा समय बचाता है, धन्यवाद – ganesh

+0

नया उत्तर स्वीकार किया गया :) – Snake

2

उन सुविधा तरीके के रूप में मौजूद है के लिए धन्यवाद भ्रमित ताकि आप हमेशा एक drawable, या हमेशा में एक संसाधन आईडी पारित करने के लिए हो रही हो रही करने के लिए हमेशा को हल करने के लिए की जरूरत नहीं है है। विभिन्न स्थितियों के लिए विभिन्न स्थितियों के लिए कॉल करें।

सब कुछ, कोई फर्क नहीं पड़ता। अपनी स्थिति के लिए क्या काम करता है इसका प्रयोग करें।

+0

धन्यवाद, और मुझे लगता है कि कोई differenc नहीं है, मैं ड्रॉइंग या बिटमैप का उपयोग करता हूं, है ना? – Snake

+0

स्रोत कोड में कहीं, हाँ;) लेकिन फिर, ImageView Drawables और बिटमैप्स दोनों लेता है। ImageView के साथ इसे प्रदर्शित करने के लिए एक को दूसरे में परिवर्तित करने की आवश्यकता नहीं है। – Phix

+3

कृपया सही उत्तर के लिए ध्वज बदलने पर विचार करें। यह सही जवाब नहीं है। सबसे उपयोगी उत्तर नीचे है और उच्चतम रेटिंग है। – Zordid

1

मुझे लगता है कि setImageDrawable मेमोरी गहन संचालन के लिए बेहतर अनुकूल है - जैसे रीसाइक्लिंग व्यू स्क्रॉल करना, memcache से बिटमैप प्राप्त करना। लेकिन कुछ आसान के लिए, setImageResource आजकल बेहतर एपीआई है।

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