gpt4 book ai didi

ios - 如何使用大型 csv 文件管理 ios 的内存?

转载 作者:行者123 更新时间:2023-12-01 16:41:20 24 4
gpt4 key购买 nike

我是 ios 开发的新手,我遇到了与内存管理和处理大型数据集的方法有关的问题。

现在,我正在加载 csv 文件并将相关数据作为对象存储在应用程序初始化时的内存中。一些 csv 文件大于 1MB,我的应用程序总共使用了大约 180MB 的内存。这显然是一个太高的数字(除非我发现的信息是错误的并且这是一个可以接受的数字,然后请告诉我)。

我觉得我的方法存在一个根本缺陷:有没有办法可以避免将 csv 文件存储在项目本身中?或者,有没有一种我可以做的“惰性”加载,以便我可以简单地在 csv 文件中查找信息,而不是一次加载所有数据?

任何帮助都可以。我认为我需要一个新的视角来更有效地管理这个问题。

编辑:我需要的大部分信息是某种键查找,这些查找的搜索树可能跨越多个 csv 文件。

最佳答案

您的基本问题是 CSV 不是一种好的“增量”存储格式。我的意思是你不能有效地将你感兴趣的部分数据加载到内存中——你必须加载整个数据,然后围绕你想要的位进行搜索。

更好的方法是将数据从 CSV 复制到另一个数据存储中。 Core Data或多或少是推荐的 Apple 内置数据存储,但它会带来很多您可能不需要的开销。您也可以使用SQLite直接来自您的应用程序代码,或在其上使用更薄的 Objective-C 层,如 FMDB .

您可以在构建应用程序时执行此操作,或者将代码构建到应用程序中以在第一次运行时执行此操作。

之后,您可以使用相关 API 仅请求执行您正在处理的任何操作所需的数据。

关于ios - 如何使用大型 csv 文件管理 ios 的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24092975/

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