【问题标题】:Should I store different size's image for different Image component size to improve performance?我应该为不同的图像组件大小存储不同大小的图像以提高性能吗?
【发布时间】:2019-05-28 07:10:33
【问题描述】:

我正在使用 Image 组件进行本机反应,我必须在不同大小的多个位置使用相同的图像。喜欢用户个人资料图片:

  1. 在配置文件部分,带有大约一半设备高度的大圆圈 - 600x600px,
  2. 在联系人列表中的其他联系人部分中以缩略图形式显示 - 80x80 像素,
  3. 在聊天部分,发送图片给其他用户,图片信息会出现在一个-200x200px的小方框中。

我关心的是我是否应该为上述每个尺寸创建一个小的精确图像尺寸裁剪/压缩版本,或者我必须在任何地方使用原始尺寸的图像,如 1000x1000,无论图像组件大小如何

  1. 如果我为每个图像创建一个完美尺寸的裁剪版本,那么设备上将使用大量内存并且
  2. 如果我使用原始图像(离线下载),那么 react-native Image 组件可能需要做很多努力才能将其裁剪为完美尺寸。这可能会导致性能问题。

请帮助正确的方法。

【问题讨论】:

  • 没有“正确”的方法。这将完全基于您认为的复杂性、性能和传输数据量之间的合理权衡。
  • 您对上述两种方法的偏好是什么?
  • 最有效地满足我的特定要求的一种。

标签: android html ios performance react-native


【解决方案1】:

由于 react native 遵循 web 的模式,所以它足够聪明,可以将图像大小压缩到您正在使用的 Image 组件的大小,因此压缩大小可能需要一些时间,这似乎更可行的解决方案,而不是自己为每个资产创建一个压缩副本。资产可能会不断变化,因此难以追踪。

【讨论】:

    【解决方案2】:

    您需要将逻辑放在服务器端。当您尝试上传图像时,服务器将以您需要在应用程序中与原始图像一起使用的必要分辨率调整图像大小。

    您需要在特定屏幕上渲染来自服务器的特定图像。要下载图像,您可以使用FastImage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-27
      • 1970-01-01
      • 1970-01-01
      • 2021-06-02
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      相关资源
      最近更新 更多