ios - 在 react-native 中从 ios 包中删除未使用的图像(@2x 或 @3x)?
问题描述
我正在尝试根据 react-native 指南https://facebook.github.io/react-native/docs/images@3x
优化我的应用程序性能并为我的图像添加和后缀@2x
这显然重复了图像,但我假设仅基于设备@2x
或@3x
图像将被删除?
现在我的包刚刚增加到额外的 15mb 大小,似乎所有图像都被使用,无论我在什么设备上测试。
这是预期的还是有办法改进它,所以每个设备都使用正确的分辨率,但没有捆绑额外的图像?
应用程序大小已通过 测试TestFlight
,我不确定,但也许从 App Store 下载时这些图像会被删除?
解决方案
如果您使用过react-native-cli
,则可以在Xcode
IDE 中为该iOS
文件夹编译项目。如果编译成功,请按照以下步骤操作,
您需要bitcode
在项目的构建设置中启用才能启用App Thinning
功能。
启用过程Bitcode
:
- 在项目构建设置中,确保您已启用所有设置可见。
- 构建选项是第 4 部分。选择选项
Yes
。Enable Bitcode
App Store 和操作系统优化了 iOS、tvOS 和 watchOS 应用程序的安装,方法是根据用户特定设备的功能定制应用程序交付,并且占用空间最小。这种优化称为应用程序精简,可让您创建使用最多设备功能、占用最少磁盘空间并适应 Apple 可以应用的未来更新的应用程序。其他应用程序和内容的更快下载和更多空间可提供更好的用户体验。
切片(iOS、tvOS) 切片是为不同的目标设备创建和交付应用程序包变体的过程。变体仅包含目标设备所需的可执行架构和资源。您继续开发应用程序的完整版本并将其上传到 App Store Connect。App Store 将根据您的应用支持的设备创建和提供不同的变体。使用资产目录,以便 App Store 可以选择适用于每个设备变体的图像、GPU 资源和其他数据。当用户安装应用程序时,会下载并安装用户设备的变体。
Xcode 在开发过程中模拟切片,因此您可以在本地创建和测试变体。当您在设备或模拟器中构建和运行应用程序时,Xcode 会对您的应用程序进行切片。当您创建档案时,Xcode 包含您的应用程序的完整版本,但允许您从档案中导出变体。
注意:运行 9.0 及更高版本的设备支持切片应用;否则,App Store 会向客户提供通用应用程序。
推荐阅读
- python - 矩形和鼠标之间的碰撞
- c# - 如何根据 GraphQL 中的查询参数解析特定的 DbContext?
- go - Go Fyne 中的绑定表数据
- docker - 从 Ubuntu 容器中启动 weston
- pytorch - 使用 huggingface 的标记器手动填充 BatchEncodings 列表
- java - ElasticSearch 获取具有一个值但来自多个位置的数据
- c++ - 重载时如何选择正确的向量插入()函数?
- emacs - 如何在emacs org-mode中更改“:results输出代码”结果的语言
- postgresql - 如何为 liquibase 设置角色以用于创建 DATABASECHANGELOGTABLE
- xcode - Xcode:顶部剪辑的 Playground Live View 导航控制器