【发布时间】:2011-06-30 03:39:46
【问题描述】:
我有一个应用程序,其中包含大量大小合适的图像。目前所有图像都在主应用程序包中。当应用程序加载时,登陆图像大约需要两秒钟才能被实际 UI 替换。 加载时间是否与捆绑包大小有关,即拥有较小的主捆绑包会减少加载时间吗? 将图像放在另一个包中会减少加载时间,还是加载多个包的开销实际上是有害的?
谢谢
【问题讨论】:
我有一个应用程序,其中包含大量大小合适的图像。目前所有图像都在主应用程序包中。当应用程序加载时,登陆图像大约需要两秒钟才能被实际 UI 替换。 加载时间是否与捆绑包大小有关,即拥有较小的主捆绑包会减少加载时间吗? 将图像放在另一个包中会减少加载时间,还是加载多个包的开销实际上是有害的?
谢谢
【问题讨论】:
实际的可执行文件包含在包中(就像 OS X 应用程序包中的包)。 捆绑包实际上只是将所有资源打包在一起的一种方式,它的大小不应影响应用程序的加载时间。 应用程序运行时不会加载这些资源(除非你正在做某事加载它们)。
一个包实际上只是一个目录:
bundle 是一个目录 标准化层次结构 包含可执行代码和 该代码使用的资源。
你应该包括你所有的图片:
应用程序应始终包含所有 图像,字符串文件, 可本地化的资源和插件 他们需要在[内部 捆]。非关键资源应该 同样被存储在 尽可能应用程序包 但可以放在捆绑包之外 如果需要的话。有关更多信息 应用程序的捆绑结构, 请参阅“应用程序包”。
【讨论】:
将图片放在不同的捆绑包中不会加快应用启动速度。相反,您应该查看延迟加载优化。仅在需要时加载所需的内容。
【讨论】: