Unity中集成SQLite的方案对比

游戏开发中经常要保存本地数据,SQLite相对于JSON有更好的性能,当修改部分数据时,不用像JSON一样序列化整个模块。
但是貌似网上关于Unity中使用SQLite的资料较少,而且都比较老。

目前找到的方案有三种:
我最终使用了比较均衡的方案3

1. SQLiteUnityKit
此方案使用了DllImport的方式调用SQLite库提供的C函数。

优点:执行效率较高。
缺点:但是使用中发现,在添加TEXT类型数据时,特殊字符(例如反单引号和各种转义字符)会导致SQL理解语义错误,需要预先手动处理文本,例如将文本中/替换为//

2. SQLite4Unity3d
此方案是基于sqlite-net,使用反射可以直接读取C#对象。

优点:数据对象直接用C#语言编写,方便且直观。
缺点:C#反射的性能相对较差。

3. Mono.Data.Sqlite
配置方法原文:https://stackoverflow.com/questions/50753569/setup-database-sqlite-for-unity
不同平台的sqlite3.dll文件可以去SQLite4Unity3d中拿.

原文提供了完整的配置和使用方式,很赞。Mono.Data.Sqlite属于Xamarin Mono的一部分,十分成熟稳定。

优点:有良好的跨平台兼容性,比方案2的反射方法更好的性能,也没有方案1的语义问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值