as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

react-native-fast-image版本2.0.0

react-native-fast-image版本2.0.0

@amazon-devices/react-native-fast-image库版本2.0.0在Vega上提供对于react-native-fast-image的支持,后者提供高性能React Native图像组件。

React Native的Image组件像浏览器一样处理图像缓存。如果服务器为图像返回正确的缓存控制标头,您会在浏览器中看到内置的缓存行为。

您可能还会注意到:

  • 闪烁
  • 缓存未命中
  • 从缓存进行加载时性能低下
  • 总体性能低下

FastImageImage的替代物,它解决了除Web之外的其他平台上的这些问题。

此库由系统部署,可供适用于Vega的React Native应用使用,无需单独的安装过程。此库自动链接,您的应用在运行时会链接到该库。该库保证仅与为之构建的适用于Vega的React Native版本兼容。

升级应用的适用于Vega的React Native版本时,可以考虑升级其库依赖关系的最佳实践。

有关此库及其API的更多信息,请参阅FastImage GitHub存储库中的README.md文件(仅提供英文版)。

安装

  1. package.json文件中添加JavaScript库依赖项。

    已复制到剪贴板。

    "dependencies": {
       ...
       "@amazon-devices/react-native-fast-image": "~2.0.0"
    }
    
  2. 使用npm install命令重新安装依赖项。

示例

复制到剪贴板。


import FastImage from 'react-native-fast-image'

const YourImage = () => (
    <FastImage
        style={{ width: 200, height: 200 }}
        source={{
            uri: 'https://unsplash.it/400/400?image=1',
            headers: { Authorization: 'someAuthToken' },
            priority: FastImage.priority.normal,
        }}
        resizeMode={FastImage.resizeMode.contain}
    />
)

API参考

组件

属性 描述 默认值
source 要加载的远程图像的来源。 (无)
source.uri 用于加载图像的远程URL。例如:'https://facebook.github.io/react/img/logo_og.png'。 (无)
source.priority FastImage.priority.low - 低优先级
FastImage.priority.normal - 普通优先级
FastImage.priority.high - 高优先级
FastImage.priority.normal
resizeMode FastImage.resizeMode.contain - 均匀缩放图像(保持图像的宽高比),使图像的两个尺寸(宽度和高度)都等于或小于视图的相应尺寸(减去内边距)。确保整个图像可见,但可能会留下空白区域。
FastImage.resizeMode.cover - 均匀缩放图像(保持图像的宽高比),使图像的两个尺寸(宽度和高度)都等于或大于视图的相应尺寸(减去内边距)。确保容器已完全填满,这可能会裁剪部分图像。
FastImage.resizeMode.stretch - 单独缩放宽度和高度,这可能会改变源的宽高比。
FastImage.resizeMode.center - 不缩放图像,保持居中。
FastImage.resizeMode.cover
onFastImageLoadStart 当图像开始加载时调用。 (无)
onFastImageLoad 成功提取图像时调用。使用加载的图像的宽度和高度调用。 (无)
onFastImageError 在图像提取错误时调用。 (无)
onFastImageLoadEnd 在图像完成加载时调用,无论加载成功还是出错。 (无)

方法

方法 描述
preLoad 预加载图像以便稍后显示。
clearMemoryCache 从内存缓存中清除所有图像。
clearDiskCache 从磁盘缓存中清除所有图像。

已知问题和限制

在API支持方面,适用于Vega的React Native库有一些例外。Vega平台不支持以下功能。

  • source.headers
  • source.cache
  • tintColor
  • defaultSource
  • onFastImageProgress(依赖项Image.onProgress有问题。)

向后兼容问题

Vega OS版本v0.12OS1.1 (201010334050) 及更高版本与amzn/react-native-fast-image(npm程序包)2.0.1726598878及更低版本不兼容。

v0.12及更高版本的操作系统上,运行按照旧版本npm程序包构建的应用时,会在启动时出现以下崩溃情况:

Volta:Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'FastImageTurboModule' could not be found.验证此名称的模块是否已在原生二进制文件中注册。

要解决这个问题,您必须按照最新版本的@amazon-devices/react-native-fast-image重新构建应用:

  1. 确保您应用的package.json不会对任何旧版本的fast-image进行硬编码。

    建议使用SemVar版本~2.0.0,以便应用可以获取最新的补丁。

  2. 删除package-lock.json可移除任何锁定的fast-image版本。

    如果您使用package-lock.json来锁定其他依赖项,则可以手动删除@amazon-devices/react-native-fast-image的条目。‏

  3. 为确保npm不会获取旧的缓存版本,请删除node_modules文件夹。
  4. 重建您的应用。

支持的版本

程序包版本 基于 @amazon-devices/react-native-kepler版本
2.0.x 8.6.3 2.0.x

支持的第三方库和服务


Last updated: 2025年9月30日