@amazon-devices/react-native-fast-image库在Vega上提供对于react-native-fast-image的支持,后者提供高性能React Native图像组件。
React Native的Image组件在很大程度上像浏览器一样处理图像缓存。如果服务器为图像返回正确的缓存控制标头,您通常会获得浏览器中的那种内置缓存行为。但是也有许多人注意到了以下问题:
- 闪烁
- 缓存未命中
- 从缓存进行加载时性能低下
- 总体性能低下
FastImage是Image的替代物,它解决了除Web之外的其他平台上的这些问题。
此库由应用部署,可供适用于Vega的React Native应用使用,无需单独的安装过程。此库自动链接,您的应用在运行时会链接到该库。该库保证仅与为之构建的适用于Vega的React Native版本兼容。
升级应用的适用于Vega的React Native版本时,可以考虑升级其库依赖关系的最佳实践。
请在此处查看原始库文档,了解有关此库、API参考等的更多信息:README.md(仅提供英文版)。
安装
- 在
package.json文件中添加JavaScript库依赖项。选择适用于您的React Native版本的选项卡。
- React Native 0.72
- React Native 0.83
- 使用
npm install命令重新安装依赖项。
示例
API参考
组件API
方法
Vega上的例外情况
在API支持方面,适用于Vega的React Native库有一些例外。Vega平台不支持以下功能。source.headerssource.cachetintColordefaultSourceonFastImageProgress(依赖项Image.onProgress有问题。)
向后兼容问题
自v0.12起的操作系统版本与amzn/react-native-fast-image(npm程序包)及更低版本不兼容。
在v0.12+及更高版本的操作系统上,运行按照旧版本npm程序包构建的应用时,会在启动时出现以下崩溃情况:
Volta:Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'FastImageTurboModule' could not be found.验证此名称的模块是否已在原生二进制文件中注册。
要避免出现这种崩溃,您必须按照最新版本的@amazon-devices/react-native-fast-image重新构建应用:
-
检查您应用的
package.json不会对旧版本的fast-image进行硬编码。 使用semvar版本 ^3.0.0,以便应用可以获取最新的补丁。 -
删除
package-lock.json可移除任何锁定的fast-image版本。 如果您依赖此文件来锁定其他依赖项,则可以手动删除package-lock.json中@amazon-devices/react-native-fast-image的条目。 -
删除
node_modules文件夹,这样npm就不会获取旧的缓存版本。 - 重新构建

