我想创建一个不实现MetricAffectingSpan
的ParcelableSpan
,因为如果没有Context
实例,它的状态就不容易持久。框架是否期望所有MetricAffectingSpan
都实现ParcelableSpan
?我担心我的类的实例会被Android框架强制转换为ParcelableSpan
,而不检查一切是否正常。
我不确定如何将框架激发到极好的跨度中。我曾尝试使用StyleSpan
进行测试,但从未见过调用Parcel
实例的构造函数。
最佳答案
我会说是安全的。打包用于在活动之间或流程之间传递状态。
由于自定义范围信息在共享时会导致其他进程崩溃,因此最好不要实施它。
您无法创建自己的ParcelableSpan。为了避免由于未知数据类型而导致崩溃,该框架不允许通过定义隐藏的两种方法getSpanTypeIdInternal和writeToParcelInternal来实现自定义ParcelableSpan。它们都由TextUtils.writeToParcel使用。
由Google自己的Florina Muntenescu提供
https://medium.com/androiddevelopers/underspanding-spans-1b91008b97e4