Image 在React Native中,什么对图像最有利?

Image 在React Native中,什么对图像最有利?,image,performance,react-native,Image,Performance,React Native,我正在使用React Native和Expo。 Expo给了我很多只能在JS中使用的功能。(Facebook登录、位置、联系人等) 我想同时推出android和ios,所以我决定使用expo,也许它适合我的应用 但我有一个担忧。我的应用程序显示许多图像。所以,我想到了性能。 我发现了名为react native fast image的著名组件,但在当前项目中包含它时遇到了困难 如果我在场景中使用基本的React原生映像组件,可以吗。 它会影响性能吗 下载图像后,您应该开始考虑预加载和缓存资产。

我正在使用React Native和Expo。

Expo给了我很多只能在JS中使用的功能。(Facebook登录、位置、联系人等)

我想同时推出android和ios,所以我决定使用expo,也许它适合我的应用

但我有一个担忧。我的应用程序显示许多图像。所以,我想到了性能。 我发现了名为react native fast image的著名组件,但在当前项目中包含它时遇到了困难

如果我在场景中使用基本的React原生映像组件,可以吗。
它会影响性能吗

下载图像后,您应该开始考虑预加载和缓存资产。您可以在下面的链接中找到有关如何利用世博资源实现这一目标的信息:


根据使用react-native fast image的一般说明,react-native的image组件处理图像缓存的方式大部分与浏览器类似。如果服务器为图像返回正确的缓存控制头,通常会得到浏览器中的内置缓存行为

但是,在场景中使用默认图像组件将导致:

  • 忽隐忽现
  • 缓存未命中
  • 从缓存加载低性能
  • 总体性能较低
不过,您也可以在本机映像组件中使用Image.prefetch(url)来预取映像

  • 正如[Murilo Varela][1]所提到的,您绝对应该考虑预加载和缓存图像。React Native自己的
    Image
    有一个名为
    Image的方法。预回迁(url)
    将允许您这样做。这将提高应用程序在用户体验方面的性能

  • 还有另一种方法可以提高你的应用程序的性能,比如你的应用程序在运行时消耗了多少内存,我想这就是你想要的。首先,看看一个典型的社交应用,比如Twitter。个人资料图片和4张图片都很小,它们的实际大小必须更大。如果您点击这些图像,您将进入全屏模式,因此可以查看它们的高分辨率版本。但用户可能对这4张图片不感兴趣,他根本不会点击它们,而是跳过它们。因此,我们为什么要下载这些图像的原始版本?这些图像可能是数兆字节,但用户甚至不会查看它们。因此,我们应该为每个图像生成一个缩略图,像上面那样显示缩略图,只有当用户点击这些图像并进入全屏模式时,我们才能开始下载原始图像


  • 我在
    Firebase
    方面有经验,但在
    AWS
    方面没有经验,但我用谷歌搜索了一下,你绝对可以做到。如果您感兴趣,请告诉我,我当然可以介绍使用
    Firebase
    生成缩略图,但如果不感兴趣,您可以在
    AWS
    中用谷歌搜索如何生成缩略图。不管怎样,我认为你一定要考虑在你的应用程序中加入缩略图,你听说过的每个应用程序都会用到缩略图

    你的应用程序从服务器下载图像吗?如果是,您使用的是哪台服务器?火基?AWS?Azure?我正在使用AWS下载图像。我使用的是firebase,它是应用程序数据库(没有图像)的逻辑。非常感谢你的回答。我完全理解。我在搜索谷歌,因为我在使用AWS。有很多方法。谢谢!:)