下载和缓存脱机数据(图像/视频/ 3d模型)的代码体系结构应该是什么?

时间:2018-12-17 18:21:00

标签: c# algorithm design-patterns architecture software-design

我正在开发一个具有3D房间的应用程序。每个房间都是3D模型,可以包含媒体板。每个媒体板均包含幻灯片或视频图像。我创建了以下数据模型:

- name: Generate diff
  command: diff  /tmp/abc.txt  /tmp/def.txt
  register: diff_result

- name: Show diff result
  debug:
    var: diff_result

这些数据模型是从服务器填充的。我需要知道如何构建此代码,以便将所有模型和图像下载并缓存在本地存储中,以及根据需要从缓存中获取/加载,还应该具有更新缓存/脱机数据的机制。我应该在哪里存储本地下载的模型和图像的路径?对于我来说,在这些模型中存储下载的图像/模型的路径没有意义。需要建议/解决方案。 谢谢

P.S:我正在使用Unity 3D和C#。

1 个答案:

答案 0 :(得分:0)

Unity在PlayerPrefs中隐藏了此类信息。 这可以使所有平台正常运行。

您还可以使用Application.persistentDataPath,它也适用于所有平台。 在其中,存储机制是您的。

要处理此缓存,每个对象都需要一个唯一的ID,您可以检查版本(或任何等效值),以便知道何时需要更新缓存的对象。

缓存需要包括某种索引表,该索引表将允许在给定其ID的情况下在缓存中检索所需的元素。该表是缓存的一部分(因此,它也位于Application.persistentDataPath内)。

您可能还希望删除最旧或很少使用的元素。因此,您的缓存将需要存储这些信息。