android - 创建一个不实现 ParcelableSpan 的 MetricAffectingSpan 是否安全?

标签 android

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

我不确定如何将框架引入 parcelling span。我尝试使用 StyleSpan 进行测试,但从未见过调用 Parcel 实例的构造函数。

最佳答案

我会说是的,它是安全的。 Parceling 用于在 Activity 之间或进程之间传递状态。

由于自定义跨度信息在共享时会导致其他进程崩溃,因此实现它甚至可能是个好主意。

You can’t create your own ParcelableSpan. To avoid crashes due to unknown data types, the framework doesn’t allow implementing custom ParcelableSpan, by defining two methods, getSpanTypeIdInternal and writeToParcelInternal, as hidden. Both of them are used by TextUtils.writeToParcel.

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

关于android - 创建一个不实现 ParcelableSpan 的 MetricAffectingSpan 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46347772/

相关文章:

android - 无法从 android.com 下载 SDK 组件

android - Calabash-Android 运行文件未找到

Android In-App Purchase 离线查看买家

android - 在 Android 中解析 XML 文件

android - Retrofit & OkHttp - 是否可以一次只发送一个请求?

java - yyyy-mm-dd 的正则表达式日期验证

android - 如何像 WhatsApp 一样以 PIP 模式播放 YouTube 视频?

android - 如何在Android设备中获取日志文件位置?

android - 应用程序功能要求保存信用卡详细信息以备将来使用。需要调查是否存在任何特定的安全设计

java - 如何在不减慢应用程序的情况下启动服务?