react-native - --indexed-ram-bundle 对 React Native 捆绑的意义
问题描述
最近我开始使用带有内联需求的 RAM 包来获得更好的 React Native 启动性能。为此,我几乎只是遵循了官方指南。它工作正常,但在指南的 Android 部分中,他们说:
如果要使用单个索引文件,请在 Android 上使用以下行:
project.ext.react = [ bundleCommand: "ram-bundle", extraPackagerArgs: ["--indexed-ram-bundle"] ]
有什么意义--indexed-ram-bundle
?为什么我想要或不想拥有单个索引文件?
我看到默认情况下 iOS 似乎使用单个索引文件,而 Android 将创建一组文件。
解决方案
虽然无法非常详细地确定为什么要--indexed-ram-bundle
为 Android做,但 Metro 文档确实提供了一些信息:
索引 RAM 包
这种格式将包组成为二进制文件......这种结构对于能够一次将所有代码加载到内存中的环境是最佳的......这种捆绑通常由 iOS 使用。
文件 RAM 包
每个模块都存储为一个文件,名称为
js-modules/${id}.js
... 这种捆绑通常由 Android 使用,因为包内容是压缩的,并且访问压缩文件的速度要快得多。如果改为使用索引格式,则应立即解压缩所有捆绑的文件以获取相应模块的代码。
推荐阅读
- android - 无法将 Firebase 存储映像存储到文件夹中
- ubuntu - .net core web api访问容器中的文件夹
- android - 电报api配置项目异常
- python - TensorBoard 记录统计数据与训练分开
- javascript - 从子窗口调用父窗口函数不起作用
- javascript - XMLHttpRequest 循环
- php - 无法获取简单的 PHP 表单来添加/更新到 MySQL 表
- php - 在 composer 包中使用独白
- c# - 更新到最新的 Xcode 和 VS 后,Xamarin ios 编译到 Iphone 失败
- javascript - jQuery 看不到我的 id