Unity iOS存档系统:Apple设备数据保存

在Unity中游戏存档有如下四种方式:PlayerPrefs,C#序列化,Xml序列化,Json序列化



一般要解决几个问题

1.游戏版本的升级

2.玩家有多个存档

3.玩家破坏存档的情况



PlayerPrefs

优点:上手简单,存储方便,不用考虑内部实现,适合做小游戏的数据存档。

缺点:只支持基本数据类型,无法存储一个类,数组,集合,字典等。

C#序列化

优点:

1.除了静态类型和抽象类型以及类必须标记为[Serializable]的,其他的都可以被序列化:类,数组,集合,字典,类及其子类等。

缺点:
1.不会调用要序列化类的构造函数。
2.在升级版本后,新增一个字段也只是采用系统默认值,而不是我在类中直接赋的值。
3.在升级版本后,如果删除了之前的一个字段,则无法正确解析(反序列化)。

Xml序列化

优点:

1.序列化出来的数据直观,可以序列化类和类中的对象。

2.升级版本后,如果新增了字段,则自动采用你在类中赋给该变量的值。

3.升级版本后,如果删除了之前的字段,则自动忽略之前的字段,而不会像c#序列化一样报错。


缺点:

1.不能序列化字典,二维数组以上的数据。

2.比Json更占空间,且引入的dll也更大。

Json序列化

优点:

1.简单轻量

2.可以满足你要序列化的几乎任何类型数据。

3.如果要升级版本,可以任意删除之前的字段而不会出现不能解析的情况;可以新增字段且采用你在类中直接赋的值。


缺点:

1.相对PlayerPrefs来说,引入了一个250kb左右的DLL文件。

Newtonsoft.Json : https://github.com/SaladLab/Json.Net.Unity3D

   

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空