从游戏存档角度理解序列化和反序列化

先看官方的解释 

序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

这个概念其实很简单,谁都可能经常用到

 在玩单机游戏的时候,这时候玩家的信息在内存中存储,如果游戏突然关闭,这时候玩家的信息就会丢失,所以需要存档,当点击存档的时候,这时会把游戏运行的信息变成save存档文件存到硬盘里面,也就是将内存对象转换为了可保存的数据

再说反序列化,当玩家需要读取存档的时候,将从硬盘中读取存档数据,由这些存档数据生成内存数据,这就是反序列化

内存中的信息不可以打包带走,但是游戏存档文件可以拷贝出来,换台电脑就可以使用,也可以通过网络传输给别人使用

那么就有了更广泛的的关于序列化和反序列化的使用场景,自己电脑上的对象实例化为json或者xml等文本存储格式能同步给别的电脑,然后再反序列化再其他计算机上面还原出自己计算机上的对象

猜你喜欢

转载自blog.csdn.net/qq_36653924/article/details/128752085