【发布时间】:2016-07-25 06:14:47
【问题描述】:
我是 Android 开发的新手,我偶然发现了这些词:
- 可序列化对象
- 序列化
- Parcelables
请问,这些词是什么意思,它们是干什么用的?
【问题讨论】:
我是 Android 开发的新手,我偶然发现了这些词:
请问,这些词是什么意思,它们是干什么用的?
【问题讨论】:
Parcelable 和 Serialization 用于编组和解组 Java 对象。
Parcelable在 Android SDK 中有详细记录;另一方面,序列化在 Java 中可用。正是出于这个原因,Android 开发人员更喜欢 Parcelable 而不是序列化技术。
· 在 Parcelable 中, 开发人员编写用于编组和解组的自定义代码,因此与序列化相比,它创建的垃圾对象更少。由于这种自定义实现,Parcelable over Serialization 的性能显着提高(大约快了两倍)。
·序列化是一个标记接口,这意味着用户不能根据他们的要求来编组数据。在序列化中,使用 Java 反射 API 在 Java 虚拟机 (JVM) 上执行封送操作。这有助于识别 Java 对象的成员和行为,但最终也会创建大量垃圾对象。
因此,与 Parcelable 相比,序列化过程较慢。
查看以下链接:非常好的解释和示例。
http://www.3pillarglobal.com/insights/parcelable-vs-java-serialization-in-android-app-development
【讨论】:
来自https://en.wikipedia.org/wiki/Serialization
在计算机科学中,在数据存储方面,序列化是 将数据结构或对象状态转换为 可以存储的格式(例如,在文件或内存缓冲区中,或 通过网络连接链路传输)并在以后重建 在相同或其他计算机环境中。
有多种方法可以使 java 类可序列化。其中有
【讨论】: