在 iOS 文件系统上,有没有办法通过使用分层目录结构与平面目录结构来优化文件访问性能?
具体来说,我的应用程序Objects
每个都包含许多图像和数据文件。一个用户可以创建数千个这样的Objects
图像,我需要优化对一个图像的访问,一次大约 100Objects
个。
在这种情况下,我应该如何组织文件系统上的文件?分层目录结构会比平面结构更快吗?如果是这样,我应该如何构建分层系统(即有多少层,每层有多少子目录/文件)?
谢谢!
在 iOS 文件系统上,有没有办法通过使用分层目录结构与平面目录结构来优化文件访问性能?
具体来说,我的应用程序Objects
每个都包含许多图像和数据文件。一个用户可以创建数千个这样的Objects
图像,我需要优化对一个图像的访问,一次大约 100Objects
个。
在这种情况下,我应该如何组织文件系统上的文件?分层目录结构会比平面结构更快吗?如果是这样,我应该如何构建分层系统(即有多少层,每层有多少子目录/文件)?
谢谢!
那么首先你不妨尝试一下扁平结构,看看它是否慢。也许苹果已经输入了代码来优化文件的查找方式,您甚至不必担心这一点。您可能可以构建整个应用程序并测试它的加载速度,看看它是否满足您的要求。
如果您需要加快速度,我建议您尝试根据文件名创建某种结构。您可以有一个文件夹,其中包含所有以字母“a”或“b”开头的项目,依此类推。这会将其拆分为 26 个文件夹,这将显着减少每个文件夹中的项目数量。根据您命名文件的方式,您可能需要不同的方案,以便每个文件夹中的项目数量相似
如果您使用的是 Core Data,您总是可以Allows External Storage
在模型的属性中启用该选项,让系统决定它应该去哪里。
这将是一个不错的第一步,看看性能是否还可以。