我建议不要使用Content
构建操作。构建操作是后来添加的BundleResource
,并且功能更强大,但是它们之间的唯一区别是从项目中的文件位置到应用程序包中的文件位置的映射。Content
仅保留构建操作是为了向后兼容。
如果您看到不同的内存使用情况,则肯定有其他原因。您是否尝试过比较您的 app bundle 的两个版本?
内容文件被复制到应用程序包中,其相对路径与项目中的相对路径匹配。BundleResource 文件的处理方式相同,只是如果它们位于项目的 Resource 目录中,则去掉此前缀。这个想法是,您可以根据 Apple API 的要求将内容复制到应用程序包的根目录中,而不会弄乱项目的根目录。
因此,例如,通过BundleResource
构建操作,Resources\Foo\Bar.png
您项目中的文件将被复制到Foo\Bar.png
应用程序包中。而通过Content
构建操作,它将被复制到Resources\Foo\Bar.png
(尽管您的应用程序包中不允许有一个名为“Resources”的目录,因为它是 Apple 保留名称,因此您会收到错误消息)。
BundleResource
还支持IPhoneResourcePrefix
您只能通过手动编辑 csproj 文件来设置的项目属性,该文件允许您定义更多要以这种方式处理的目录,例如您可以有一个 Images 目录。这使您可以更好地控制资源的组织。您还可以LogicalName
在任何项目上使用项目元数据BundleResource
来完全覆盖其相对于捆绑包的位置。