이 인터페이스의 목적은 무엇입니까?
CharSequence일련의 문자를 나타내는 표준 Java 인터페이스입니다. String가장 일반적으로 사용되는 콘크리트 구현 한 CharSequence다음, StringBuilder.
Spanned는 CharSequence텍스트의 일부에 적용 할 서식을 나타내는 "범위" 가있는 입니다. 이러한 범위는 수정할 수 없습니다.
Spannable은 Spanned범위를 수정하는 기능 (서식을 추가하거나 제거하기 위해)을 추가하지만 텍스트 자체를 수정하는 것은 아닙니다 .
SpannedStringSpanned인터페이스 의 구체적인 구현입니다 .
SpannableStringSpannable인터페이스 의 구체적인 구현입니다 .
어떤 시나리오에서 그것들을 사용하는 것이 가장 일반적입니까?
하나를 반환하는 메서드가있는 경우 (예 : getText()에 EditText) 또는 하나를 매개 변수로 취하는 메서드가있는 경우 (예 : setText()에 TextView).

사용하여 귀하의 인용 경우는 Html.fromHtml()A와, 아마도 기존의 안드로이드 개발에서 가장 일반적인 TextViewA를가 Spanned보다 무게가 훨씬 가볍고입니다 WebView. 그러나 다음과 같은 다른 사용 사례가 있습니다.
어떤 경우에 사용하지 않는 것이 가장 좋습니까?
그들은 대머리 퇴치, 제설, 열 펌프 수리, 수플레 만들기 등에 매우 끔찍합니다.
:-)
그중 하나를 사용할 때 고려해야 할 명백한 성능 영향이 있습니까?
정의에 따라 인터페이스는 "성능에 영향을 미치지 않습니다". API에 대한 설명 일뿐입니다.
특정 작업에서 SpannableString보다 훨씬 느리다는 것을 알지 못합니다 SpannedString. 그러나, SpannableStringBuilder웰보다 약간 느릴 수있다 (텍스트 포맷 것을 그 스팬에 추가 텍스트를 조작 가능하게하는) SpannableString또는 SpannedString다양한 것들을. 그러나 성능 차이가 중요한지 여부는 사용량에 따라 다릅니다.