官方文档

开始

  • README
  • 快速入门

使用指南

  • Android申请读写权限配置流程
  • 创建存档系统配置(FlexiArchiveSetting)
  • 创建存档系统
  • 创建自定义数据类型
  • 存档的读写
  • 对象字段与数据绑定 – 简化存档流程
  • 保存存档
  • 切换存档
  • 克隆存档
  • 删除存档

FAQ

  • 安卓上无法正常工作怎么办?
  • 支持跨平台吗?

其他

  • Github
  • 首页
  • Docs
  • Flexi Archive
  • 开始

   Flexi Archive 是一个专门为 Unity3D 设计的数据存档工具。

  正如 Flexi Archive 名字一样,Flexi Archive 以 Flexible 为设计理念,旨在通过其高度可扩展性、易上手、高性能以及完善的工具等特点,提供一个满足复杂存档需求的灵活而强大的解决方案。

  在 Flexi Archive System 中你可以用轻松地几行代码 跨平台 保存几乎任何东西,同时 Flexi Archive System 以其高度可扩展的架构设计,允许你根据实际需求轻松的自定义数据类型和存档策略、数据格式。

   Flexi Archive System 系统采用了高效的存储机制。默认采用按需载入原则,通过合批、异步IO、缓存机制、分组策略、脏标记等大量优化策略,确保用户在进行大量频繁的数据操作时,也能够快速响应。得以轻松应对游戏中复杂需求。

 

仓库 #

 

GitHub:https://github.com/wenen-creator/FlexiArchiveSystem (主仓库)

Gitee:https://gitee.com/wenen-creator/FlexiArchiveSystem (镜像仓库,非实时同步)

 

文档 #

 

Flexi-Archive官方文档  (playcreator.cn)

Flexi Archive 快速入门

Unity-Android申请读写权限配置流程 (playcreator.cn)

 

系统特点 #

 

支持任何复杂类型或自定义类型 #

 

  Flexi Archive System 支持轻松添加新的数据类型和存档策略,允许你存档自定义的复杂类型数据。

  目前系统已支持的类型:float、double、int、long、bool、string、vector2 、vector3、vector4、object list、array、dictionary、custom ·····

  如果你需要存档一个自定义类型,你无需关心存档过程中所做的操作,也无需对系统进行修改。你只需负责创建一个 CustomData 以及一个 AbstractDataType 具体类型。

   见文档:创建自定义数据类型 - 温文的小屋 (playcreator.cn) 

对象字段与数据绑定 #

 

  除了持有DataObject操作存档之外,Flexi Archive 还提供了对象字段与数据绑定方案。你可以将存档数据与对象的属性进行绑定。这意味着,你对字段成员的访问与赋值,等同于对存档数据的读写。

  这一绑定机制简化了数据管理的流程,无需你手动编写过程代码来处理数据的读写操作,极大地简化了存档流程。

  见文档 :  对象字段与数据绑定 - 简化存档流程

 

支持多存档机制 #

 

  Flexi Archive支持你创建多个存档,同时也支持存档克隆。 存档间是隔离的,修改某个存档,不会对其他存档造成影响。

  你可以自由的完成对存档的切换、克隆、删除。

 

支持多种序列化方式 #

 

  支持 File、PlayerPrefs、SQL-DB 异步序列化(存档/读档)方式。你可以根据项目模块需求以及性能考量,自由决定该模块存档系统所使用的序列化方式,默认为 SQL-DB 方式。

  多存档支持:

    1. File方式:支持多存档
    2. PlayerPrefs方式:出于性能考虑,暂不支持多存档
    3. SQL-DB方式:支持多存档

  分析:

    1. File方式(JSON):适用于存档量需求适中的项目,方便用于云存档上传。
    2. PlayerPrefs方式:适用于单个数据量小且每组存档量少的存档,访问较快。如记录下用户某个操作、用户本地所做的设置等。
    3. SQL-DB方式:适用于存档量需求较大的项目,读取开销与压缩比相比File方式在大多情况下要低。

 

支持创建多个存档系统 #

 

  你可以根据程序模块的不同,自由的创建多个不同的存档系统。

  方便你根据具体的模块来定制扩展存档系统,也可以选择更适合该模块的序列化存档方式。

   见文档:创建存档系统 - 温文的小屋 (playcreator.cn) 

支持同一设备下多账号存档共存 #

 

  在用户登录成功后设置 USER_KEY 即可。若你的程序无登录业务,你可以不用设置。 示例:

   void Into() { DataArchiveConstData.USER_KEY = "Wenen"; }

 

保存点存档 #

 

你需要在合适的时机,触发存档操作。否则你对数据的修改,只会使 Memory 的数据发生变化。

  值得一提的是,Flexi Archive System 只会对发生变化的数据进行存档。

  见文档:保存存档 - Flexi Archive (playcreator.cn)

 

分组策略 #

 

  Flexi Archive System 使用 GroupKey + DataKey 的分组策略,你可以根据你的业务来对数据进行分组。

  合理的分组有助于降低存档的开销。

 

数据存档监视工具 #

 

  Flexi Archive System 提供了与系统层配套的数据查询工具,方便你在运行时实时的监视数据的变化(支持非运行时和运行时使用)。

 

性能 #

 

  Flexi Archive System 系统内部采用了高效的存储机制。默认采用按需载入原则,通过异步IO、缓存机制、分组策略、脏标记等大量优化策略,确保在进行大量频繁的数据操作时,也能够快速响应,尽可能的避免复杂情况下帧率波动等性能问题。

 

案例 #

 

  建议你在使用 Flexi Archive 前,先打开 Sample 案例。

  在 Sample 案例中,你可以快速学习到 Flexi Archive System 的核心功能。

 

关于作者 #

 

author: 温文

blog: https://www.playcreator.cn

email: yixiangluntan@163.com

有疑问?需要帮助?

有疑问?需要帮助?

Updated on 2024年10月12日
快速入门
Table of Contents
  • 仓库
  • 文档
  • 系统特点
    • 支持任何复杂类型或自定义类型
    • 对象字段与数据绑定
    • 支持多存档机制
    • 支持多种序列化方式
    • 支持创建多个存档系统
    • 支持同一设备下多账号存档共存
    • 保存点存档
    • 分组策略
    • 数据存档监视工具
    • 性能
  • 案例
  • 关于作者
  • 首页
  • UML
  • Github
  • 知乎
  • Flexi Archive
Copyright © 2025 温文的小屋
闽ICP备2022009151号-2

一个好的游戏不仅仅可以玩,更可以向玩家传递一种境界,真正做到第九艺术的诠释。 –陈星汉