gpt4 book ai didi

c# - 保存和加载词典。改善内存占用

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:12 26 4
gpt4 key购买 nike

长期观察,这是我的第一篇文章,所以请放轻松。我环顾四周,但我的查询非常具体,在其他地方找不到。

我有一个包含 2 个控件的应用程序。

  • 左侧的控件包含一个 TreeView ,显示从 XML 文件映射的搜索。每个搜索都有一个关联的 GUID。
  • 右侧的控件显示一个数据网格,我通过字典(Guid<->数据集)从 TreeView 中获取其信息。

当用户单击 TreeView 中的节点时,我的应用程序计算出搜索链接到哪个 GUID,并呈现相关的数据集,该数据集被展平并显示在数据网格上。

我分别在退出/加载应用程序时保存(序列化)和加载(反序列化)字典。

我最近做了一些内存分析,对于更大的搜索,字典的内存占用量可能非常大 (200mb),因为用户机器的容量有限,我真的需要解决这个问题。

我想知道是否有人知道如何实现这一目标。

我正在考虑将 Serialisable Dictionary 拆分为组成数据集,并将每个数据集单独存储在硬盘驱动器上(可能使用 GUID 作为文件名)。然后,保存的数据集将随每个 Node.Click 事件反序列化并显示在 GridView 中。我担心的是每次点击事件之间可能会暂停,因为它会保存旧搜索并加载新搜索。

最佳答案

简单的答案,将字典和数据集扔到一个 Sqlite 文件中。 (或其他数据库)它会慢一点,但我希望比您可以在合理的时间内编写代码的任何代码都快。如果使用得当,数据库层将进行内存缓冲和缓存以使用户界面响应更快。

关于c# - 保存和加载词典。改善内存占用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11496871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com