0

我需要遍历应用程序从共享服务器访问的目录的文件夹结构中的所有文件。通过包含静态库,我可以访问各种服务器以及其中共享的文件。所有服务器的列表都存储在 NSArray 中

我需要遍历服务器共享的所有文件夹以将所有文件存储在容器中。我使用了递归,但是如果文件夹和子文件夹的数量增加,这会对性能产生巨大影响。

任何人都可以建议任何算法或逻辑来遍历目录结构。

请参考下图以了解结构。

在此处输入图像描述

一种可能性可能是使用线程,但如何划分逻辑以迭代所有文件夹的文件,以便线程可以并行处理它们。

作为一个移动应用程序,我没有奢侈的记忆。

4

1 回答 1

0

备注:“我没有奢侈的记忆。” - 问一位在 70 年代工作的工程师。他会说你 iPhone 中的 1GB RAM 绰绰有余。

直截了当:您确定确实是递归本身对性能有如此大的影响吗?当然,有一些算法可以使用显式堆栈在不递归的情况下遍历树数据结构(例如文件系统中的目录),但这确实很痛苦。

相反,请确保您只获得必要的信息,例如,如果您只需要文件的完整路径,请不要获取文件的所有属性和硬链接计数和生日以及...和...。

于 2013-04-02T09:58:19.333 回答