如何在启动前确定图像的缓存大小?

问题描述 投票:0回答:1

Flutter DevTools 显示消息:

考虑提前调整资源大小,提供缓存宽度 参数为 35,cacheHeight 参数为 35,或者使用 调整图像大小。

因为我的图像尺寸取决于屏幕尺寸,所以我正在寻找一种动态设置它的方法。我尝试使用

LayoutBuilder
来实现这一点,但对每个图像都这样做感觉有点太复杂了。

有人有这方面的经验并给予建议吗?

flutter responsive-images
1个回答
0
投票

加载图像时,如果图像比需要的大得多,则调整图像大小会有助于提高性能。可以根据屏幕尺寸动态设置cacheWidth和cacheHeight,可以使用MediaQuery类获取尺寸,然后应用它们来设置cacheWidth和cacheHeight。

double screenWidth = MediaQuery.of(context).size.width;
double screenHeight = MediaQuery.of(context).size.height;

Image.network(
  'https://example.com/image.jpg',
  cacheWidth: screenWidth.round(),
  cacheHeight: screenHeight.round(),
);
© www.soinside.com 2019 - 2024. All rights reserved.