Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 许多文件会影响应用程序的性能吗?_Ios - Fatal编程技术网

Ios 许多文件会影响应用程序的性能吗?

Ios 许多文件会影响应用程序的性能吗?,ios,Ios,我正在创建一个iOS应用程序,它将包含大量文件,我是说数千个 尺寸很小,但是太多了 我不知道哪一个更好,直接将它们捆绑到应用程序中,还是将它们压缩到一个文件中,并在第一次运行应用程序时将其解压缩到文档中 提前感谢。(有点不清楚您的设置是什么,或者您担心什么问题(正如@rmaddy在评论中指出的。但我想说的是,我在一个应用程序中捆绑了太多的文件,这是值得的:) 回到iOS 4时代,我在iOS应用程序中捆绑大约400个PNG时遇到了一个问题。在运行时,一些文件不可用,而且应用程序速度非常慢 当您将资

我正在创建一个iOS应用程序,它将包含大量文件,我是说数千个

尺寸很小,但是太多了

我不知道哪一个更好,直接将它们捆绑到应用程序中,还是将它们压缩到一个文件中,并在第一次运行应用程序时将其解压缩到文档中

提前感谢。

(有点不清楚您的设置是什么,或者您担心什么问题(正如@rmaddy在评论中指出的。但我想说的是,我在一个应用程序中捆绑了太多的文件,这是值得的:)

回到iOS 4时代,我在iOS应用程序中捆绑大约400个PNG时遇到了一个问题。在运行时,一些文件不可用,而且应用程序速度非常慢

当您将资源文件作为“组”(即黄色文件夹图标)添加到Xcode项目中时,它们都会被复制到应用程序包的根目录中,而不管这些组在Xcode的“项目导航器”窗格中可能有什么文件夹。 它们在运行时可以访问,如下所示:

let filePath = Bundle.main.path(forResource: "MyFile", ofType: "png")
问题 问题似乎是,至少在当时,如果一个目录的顶层有太多文件,iOS会咯咯地笑。因为当使用“组”选项(黄色文件夹图标)时,所有内容都会在根目录中结束,不管怎样,都没有出路


解决方案 如果您改为使用“作为文件夹引用”选项(蓝色文件夹图标),则Mac中的任何目录结构都将保留在内置应用程序包中。这样,您可以将文件拆分为每个不超过50个文件的子目录,然后设置

唯一需要注意的是,在读取路径时需要指定子目录,如:

let filePath = Bundle.main.path(forResource: "MyFile", ofType: "png", inDirectory: "Images/01-50/")
此外,如果您的文件是图像(如我的情况),则不能再使用:

let image = UIImage(named: "MyFile")
您需要使用:

let filePath = Bundle.main.path(forResource: "MyFile", ofType: "png", inDirectory: "Images/01-50/")
let image = UIImage(contentsOfFile: filePath)
(我不确定编译的资产目录在这方面如何公平,因为自从引入以来,我从未遇到过这种情况,但资产目录确实提供了将资产组织到子文件夹中的选项…)


附录:正如他们所说,过早优化是不好的,因此在一天结束时,你至少应该尝试一次更简单、更容易的方法,只捆绑一次文件,并对其进行测试/分析


不必要的复杂性是更多的代码行和更多潜在的bug,它最终可能会回来咬你。

什么操作系统?文件将如何使用?你担心什么性能问题?带有webview的iOS应用程序和许多web应用程序,如phpMyAdmin、elFinder、Composer extracted(非phar),总文件数超过2000个。我担心这是否会影响启动和读取文件的速度。@Porizm我担心您在这里试图做什么。在iOS应用程序中运行PHP应用程序似乎真的有问题。