इन इंटरफेस का उद्देश्य क्या है?
CharSequenceवर्णों के अनुक्रम का प्रतिनिधित्व करने वाला एक मानक जावा इंटरफ़ेस है। Stringका सबसे अधिक इस्तेमाल किया जाने वाला ठोस कार्यान्वयन है CharSequence, इसके बाद StringBuilder।
Spannedएक है CharSequence"फैला" पाठ, जहां उन फैला बदला नहीं जा सकता के कुछ भागों को लागू करने के लिए स्वरूपण का संकेत के साथ।
Spannableएक है Spanned, स्पैन को संशोधित करने (स्वरूपण को जोड़ने या हटाने के लिए) की क्षमता में जोड़ने पर, लेकिन पाठ को स्वयं संशोधित करने के लिए नहीं ।
SpannedStringSpannedइंटरफ़ेस का एक ठोस कार्यान्वयन है ।
SpannableStringSpannableइंटरफ़ेस का एक ठोस कार्यान्वयन है ।
किन परिदृश्यों में उनका उपयोग करना आम है?
जब एक विधि होती है जो एक (जैसे, a ) getText()पर लौटती है EditTextया जब एक विधि होती है जो एक पैरामीटर (जैसे, setText()a TextView) के रूप में लेती है ।

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