是否应为不同的图像组件尺寸存储不同尺寸的图像以提高性能?

时间:2019-01-01 02:50:47

标签: android html ios performance react-native

我正在与本机一起使用Image组件,并且必须在多个具有不同大小的位置使用同一张图像。像位于以下位置的用户个人资料图片:

  1. 在配置文件部分中,一个大圆圈大约是设备高度的一半-600x600px,
  2. 在联系人列表的其他联系人部分中,缩略图形式-80x80px,
  3. 在聊天部分,将图像发送给其他用户,图像消息将显示在-200x200px的小框中。

我担心的是,我应该为上述每种尺寸创建一个精确的图像尺寸裁剪/压缩版本,还是不管图像组件的尺寸如何,都必须在所有位置使用原始尺寸的图像(例如1000x1000)

  1. 如果我为每个图像创建一个完美大小的裁剪版本,那么设备上将使用大量内存,并且
  2. 如果我使用原始图像(从课程外下载),那么本机图像组件可能需要付出很多努力才能将其裁剪为理想尺寸。这可能会导致性能问题。

请帮助您采取正确的方法。

2 个答案:

答案 0 :(得分:0)

由于react native遵循网络模式,因此可以很聪明地压缩图像大小以使其达到所使用的Image组件的大小,因此压缩大小可能要花一些时间,这似乎更多可行的解决方案,而不是自己为每个资产创建压缩副本。资产可能会不断变化,因此将很难跟踪。

答案 1 :(得分:0)

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

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