Unity序列化与持久化

一、什么是序列化和持久化

这两个概念初学很容易搞混,甚至网上不少博客在提起这两者时也是混为一谈,语焉不详。

1.1什么是持久化

持久化_百度百科 (baidu.com) 百度定义。

简而言之,持久化就是我们将内存中的对象写入存储设备的过程。

1.2 什么是序列化

序列化是指将对象转换成字节流,从而存储对象或将对象传输到内存、数据库或文件的过程。 它的主要用途是保存对象的状态,以便能够在需要时重新创建对象。 反向过程称为“反序列化”。

简而言之,一个想要存储或者传输的对象,必须先序列化为字节流。比如Json序列化,XML序列化。将对象序列化为按Json格式的字节流然后传输。

1.3 两者的区别和联系

持久化将对象永久存储在存储设备上,序列化将对象转化为可以传输的字节序列。

持久化可以总结为先序列化,然后调用文件IO写入。

两者概念有交集,但也有区别。我们借助序列化实现持久化,但我们使用序列化并不一定是为了持久化,也可能仅仅是网络传输。

引用其他博客的一句话:序列化技术侧重于解决对象的传输问题,持久化技术侧重于解决对象的存储问题。

二、序列化方式

2.1 常见的序列化方式

Json序列化,XML序列化,Excel序列化,二进制序列化等等。

2.2 Unity中的序列化

prefab文件,ScriptableObject类,以及Inspector面板上可以调节的属性值等等都是Unity提供的序列化方式。

凡是按照某种格式序列化对象的,我们都可以认为是一种序列化方式,当然我们也可以实现自定义序列化。

文章引用:

深入Unity序列化 - 知乎 (zhihu.com)

序列化 (C#) | Microsoft Learn

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值