এই ইন্টারফেসের উদ্দেশ্য কী?
CharSequence
অক্ষরের ক্রমিক প্রতিনিধিত্বকারী একটি স্ট্যান্ডার্ড জাভা ইন্টারফেস। String
এর সর্বাধিক ব্যবহৃত কংক্রিট বাস্তবায়ন CharSequence
, এর পরে StringBuilder
।
Spanned
CharSequence
পাঠ্যের অংশগুলিতে প্রয়োগ করতে ফর্ম্যাটিং নির্দেশ করে এমন একটি "স্প্যানস" রয়েছে যেখানে এই স্প্যানগুলি সংশোধন করা যায় না।
Spannable
এটি একটি Spanned
, স্প্যানগুলি সংশোধন করার ক্ষমতা যুক্ত করছে (বিন্যাস যোগ করতে বা অপসারণ করতে), তবে পাঠ্যটি নিজেই পরিবর্তন করতে হবে না ।
SpannedString
Spanned
ইন্টারফেসের একটি কংক্রিট বাস্তবায়ন ।
SpannableString
Spannable
ইন্টারফেসের একটি কংক্রিট বাস্তবায়ন ।
কোন পরিস্থিতিতে এগুলি ব্যবহার করা বেশিরভাগ ক্ষেত্রে সাধারণ?
যখন এমন কোনও পদ্ধতি থাকে যা একটি ফেরত দেয় (উদাহরণস্বরূপ, getText()
একটি তে)EditText
) বা যখন এমন কোনও পদ্ধতি রয়েছে যা তাকে প্যারামিটার হিসাবে গ্রহণ করে (যেমন, setText()
ক TextView
)।
আপনার ব্যবহারের উল্লেখ করা কেস Html.fromHtml()
প্রচলিত অ্যান্ড্রয়েড বিকাশে সম্ভবত সবচেয়ে সাধারণ, এ হিসাবে TextView
একটিSpanned
ওজনের তুলনায় অনেক হালকা WebView
। তবে অন্যান্য ব্যবহারের ক্ষেত্রে যেমন রয়েছে:
কোন ক্ষেত্রে এগুলি ব্যবহার করা এড়ানো ভাল?
তারা টাক পড়ে, তুষার অপসারণ, হিটার পাম্প মেরামত, একটি স্যুফ্লাই ইত্যাদি তৈরির বিরুদ্ধে লড়াইয়ে একাকী ভয়ঙ্কর are
:-)
এর মধ্যে যে কোনও একটি ব্যবহার করার সময় কোনও স্পষ্ট পারফরম্যান্স প্রভাব বিবেচনা করা উচিত?
সংজ্ঞা অনুসারে ইন্টারফেসগুলিতে "পারফরম্যান্স প্রভাব" থাকে না - এগুলি কেবল একটি API এর বিবরণ।
আমি জানি না যে কোনও নির্দিষ্ট অপারেশনের SpannableString
তুলনায় উল্লেখযোগ্যভাবে ধীর SpannedString
। যাইহোক, SpannableStringBuilder
(যা সেই পাঠ্যটিকে ফর্ম্যাট করে এমন স্প্যানগুলি ছাড়াও পাঠ্যটিতে ম্যানিপুলেট করার অনুমতি দেয়) বিভিন্ন কিছুর চেয়ে SpannableString
বা কিছুটা ধীর হতে SpannedString
পারে। পারফরম্যান্সের পার্থক্যগুলি যথেষ্ট কিনা তা ব্যবহারের উপর নির্ভর করবে।