我想创建一个不实现MetricAffectingSpanParcelableSpan,因为如果没有Context实例,它的状态就不容易持久。框架是否期望所有MetricAffectingSpan都实现ParcelableSpan?我担心我的类的实例会被Android框架强制转换为ParcelableSpan,而不检查一切是否正常。

我不确定如何将框架激发到极好的跨度中。我曾尝试使用StyleSpan进行测试,但从未见过调用Parcel实例的构造函数。

最佳答案

我会说是安全的。打包用于在活动之间或流程之间传递状态。

由于自定义范围信息在共享时会导致其他进程崩溃,因此最好不要实施它。


  您无法创建自己的ParcelableSpan。为了避免由于未知数据类型而导致崩溃,该框架不允许通过定义隐藏的两种方法getSpanTypeIdInternal和writeToParcelInternal来实现自定义ParcelableSpan。它们都由TextUtils.writeToParcel使用。


由Google自己的Florina Muntenescu提供
https://medium.com/androiddevelopers/underspanding-spans-1b91008b97e4

10-06 13:12