Bundle文件

iOS - Bundle 资源文件包

iOS开发:Xcode项目添加资源文件注意点

iOS开发------使用自定义.bundle中的资源文件

摘要:

Bundle 文件,简单理解,就是资源文件包。我们将许多图片、XIB、文本文件组织在一起,打包成一个 Bundle 文件。方便在其他项目中引用包内的资源。

Bundle 文件是静态的,也就是说,我们包含到包中的资源文件作为一个资源包是不参加项目编译的。也就意味着,bundle 包中不能包含可执行的文件。它仅仅是作为资源,被解析成为特定的 2 进制数据。

参考:
iOS的相对路径和绝对路径

原文摘要:

1."我们开发的应用程序,最后都会成为一个bundle,那么就不难理解为什么很多资源文件加载大多是通过bundle来进行的了,从bundle进行文件加载实际就是通过应用自己所在的文件夹进行加载。"

2."而bundle对iOS开发者来讲,最大的方便就是可以非常简单地让自己的应用国际化。
例如我们要同时让图片"pic.png"在中文和英文下显示不同的内容,只需要创建两个本地化文件夹zh.lproj和en.lproj,分别放入同名但内容不同的"pic.png"即可,而不需要写大量代码判断地区语言"

ps:直接读取文件与资源文件的区别:

1.资源文件每次编译都要,相当于静态连接,在运行时加载速度快;资源文件实际还是在硬盘上,但是已经把资源文件映射到虚拟内存中,如果到需要文件时就看它在不在物理内存中,不在就加载,说到底还是在硬盘中,只不过加载是速度比我直接读取硬盘文件快;就这样来说,对“一运行就加载资源文件”的理解就应该是完成硬盘文件到虚拟内存的映射而已`。

2.如果直接读取文件就是在程序运行到需要时才从硬盘上搜索(没有现成的地址,这应该是比较慢的原因)。也就是说如果一个工程需要外围文件的量很大,那就不应该把它们加入资源文件,而是在需要的那个文件时再加载它,资源文件比较适合于占空间小的文件`。

你可能感兴趣的:(Bundle文件)