これらのインターフェースの目的は何ですか?
CharSequence
文字のシーケンスを表す標準Javaインターフェースです。String
が最も一般的に使用されるの具体的な実装でありCharSequence
、がそれに続きStringBuilder
ます。
Spanned
です CharSequence
「スパン」付きので、テキストの一部に適用するフォーマットを示します。これらのスパンは変更できません。
Spannable
は、Spanned
スパンを変更する(フォーマットを追加または削除する)機能を追加しますが、テキスト自体は変更しません。
SpannedString
Spanned
インターフェースの具体的な実装です。
SpannableString
Spannable
インターフェースの具体的な実装です。
それらを使用するのが最も一般的なシナリオはどれですか?
方法が存在するときに戻す一方(例えば、getText()
上EditText
)または(例えば、パラメータなどの1つを取る方法がある場合setText()
にTextView
)。

使用してのあなたの引用の場合はHtml.fromHtml()
と、おそらく従来のAndroidの開発で最も一般的であるTextView
とは、Spanned
あるよりも重量がかなり軽いですWebView
。ただし、次のような他の使用例もあります。
それらの使用を避けるのが最善の場合はどの場合ですか?
彼らは、脱毛症、除雪、ヒートポンプの修理、スフレの作成などで、非常にひどいです。
:-)
それらのいずれかを使用するときに考慮すべき明らかなパフォーマンスへの影響はありますか?
インターフェースは、定義上、「パフォーマンスへの影響」はありません-それらは単にAPIの記述です。
それが特定の操作SpannableString
よりも大幅に遅いことは知りませんSpannedString
。しかしながら、SpannableStringBuilder
ウェルよりも少し遅くなることがあり(フォーマットテキストことがそのスパンに加えて、テキストの操作を可能にする)、SpannableString
またはSpannedString
、様々なものを。ただし、パフォーマンスの違いが十分かどうかは、使用方法によって異なります。