【Android 组件】实现数据对象的 Parcelable 序列化
Parcelable 是 Android 提供的一种高效的数据序列化机制,用于在不同组件(如 Activity、Service、Fragment)之间传递复杂的数据对象。与 Java 的 Serializable 接口相比,Parcelable 提供了更好的性能,因此在 Android 开发中更推荐使用。
1、优点
- 高性能:Parcelable 的序列化和反序列化过程比 Serializable 更快,因为它直接操作内存,而不是通过 Java 的反射机制。
- 类型安全:Parcelable 要求明确指定数据的类型,这使得序列化和反序列化过程更加安全。
- 与 Android 系统集成良好:Parcelable 是 Android 系统推荐的数据传输方式,适用于跨进程通信(IPC)。
2、实现
(1)添加依赖
- 在模块的 build.gradle.kt 文件中增加 “kotlin-parcelize” 插件。
plugins {alias(libs.plugins.android.application)alias(libs.plugins.kotlin.android)id("kotlin-parcelize")
}
(2)定义数据类
- 使用 @Parcelize 注解定义一个数据类,并实现 Parcelable 接口。
- @Parcelize 注解会自动生成 Parcelable 接口的实现代码。
- Parcelable 支持的数据类型包括基本数据类型、String、Parcelable、List、Map<String, Parcelable> 等。
- 数据类中的所有属性都必须是可序列化的。
- 使用 @Parcelize 注解可以大大简化 Parcelable 的实现,减少样板代码。
package com.android.component.parcelableimport android.os.Parcelable
import kotlinx.parcelize.Parcelize@Parcelize
data class UserModel(val</