在React Native中如何通过axios fetch压缩、减小<Image>图片大小
商品列表图片压缩优化方案
- 最优方案是调用图片服务的实时处理能力:如果你用到的商品图是存在阿里云OSS、七牛云、腾讯云COS这类对象存储服务上,直接在图片URL的后缀拼接压缩参数,就能直接拿到符合你列表显示尺寸的压缩图,不用做任何额外开发。比如拼接
?w=300&q=75就代表返回宽度300px、质量75%的图片,体积通常能降到原图的20%以内,加载速度最快。 - 如果你的图片服务不支持URL参数压缩,可以做前端本地压缩:
如果你是React Native开发场景,可直接替换系统Image组件为react-native-fast-image,内置缓存和压缩配置,只需要设置对应质量参数即可自动压缩加载;如果是Web端场景,可在图片onload之后用Canvas重绘,自定义输出尺寸和质量后再渲染到页面。 - 配合FlatList配置进一步降低性能开销:设置
removeClippedSubviews={true}自动回收不可见区域的图片组件,设置maxToRenderPerBatch={10}控制每批次渲染的列表项数量,避免一次性加载过多图片造成内存占用过高。
提问者提供的相关代码截图:
内容的提问来源于stack exchange,提问作者Engin ÖRÜN
相关产品推荐
相关产品推荐




