इन इंटरफेस का उद्देश्य क्या है?
CharSequence
वर्णों के अनुक्रम का प्रतिनिधित्व करने वाला एक मानक जावा इंटरफ़ेस है। String
का सबसे अधिक इस्तेमाल किया जाने वाला ठोस कार्यान्वयन है CharSequence
, इसके बाद StringBuilder
।
Spanned
एक है CharSequence
"फैला" पाठ, जहां उन फैला बदला नहीं जा सकता के कुछ भागों को लागू करने के लिए स्वरूपण का संकेत के साथ।
Spannable
एक है Spanned
, स्पैन को संशोधित करने (स्वरूपण को जोड़ने या हटाने के लिए) की क्षमता में जोड़ने पर, लेकिन पाठ को स्वयं संशोधित करने के लिए नहीं ।
SpannedString
Spanned
इंटरफ़ेस का एक ठोस कार्यान्वयन है ।
SpannableString
Spannable
इंटरफ़ेस का एक ठोस कार्यान्वयन है ।
किन परिदृश्यों में उनका उपयोग करना आम है?
जब एक विधि होती है जो एक (जैसे, a ) getText()
पर लौटती है EditText
या जब एक विधि होती है जो एक पैरामीटर (जैसे, setText()
a TextView
) के रूप में लेती है ।
का उपयोग करने का आपका उद्धृत मामले Html.fromHtml()
शायद, पारंपरिक Android विकास में सबसे आम है के रूप में एक TextView
एक साथ Spanned
वजन में बहुत हल्का से एक है WebView
। हालाँकि, अन्य उपयोग के मामले हैं, जैसे:
किन मामलों में उनका उपयोग करने से बचना सबसे अच्छा है?
वे गंजापन, बर्फ हटाने, गर्मी पंप की मरम्मत, एक सूफले बनाने, आदि का मुकाबला करने में विलक्षण रूप से भयानक हैं।
:-)
क्या उनमें से किसी एक का उपयोग करते समय कोई स्पष्ट प्रदर्शन प्रभाव माना जाता है?
परिभाषा के अनुसार, "प्रदर्शन प्रभाव" नहीं है - वे केवल एक एपीआई का विवरण हैं।
मुझे पता नहीं है कि किसी विशेष ऑपरेशन SpannableString
की तुलना SpannedString
में काफी धीमी है । हालाँकि, SpannableStringBuilder
(जो पाठ को उस प्रारूप के अतिरिक्त पाठ में हेरफेर करने की अनुमति देता है) अच्छी तरह से SpannableString
या SpannedString
विभिन्न चीजों से थोड़ा धीमा हो सकता है । भले ही प्रदर्शन अंतर पदार्थ के लिए पर्याप्त हो या नहीं, उपयोग पर निर्भर करेगा, हालांकि।