我用Image.memory(base64Decode(encodedString, fit: BoxFit.cover, width: imgWidth,height: imgHeight)在flutter中加载了一个base64编码的图像。在一个列表视图中查看图像时会引起 Flink 。因为每次都要为列表中的每一项加载一次又一次的图像。那么有没有办法在flutter中缓存一个base64编码的图像呢?
Image.memory(base64Decode(encodedString, fit: BoxFit.cover, width: imgWidth,height: imgHeight)
0pizxfdo1#
您可以在initState()内部初始化base64图像,而不是在Widget build()内部调用MemoryImage。
initState()
Widget build()
late List<MemoryImage> _listImages; @override void initState(){ super.initState(); // load images here _listImages.add(MemoryImage(imageData)); }
这应防止小工具上发生“ Flink ”,因为状态发生变化时通常会刷新屏幕。
1条答案
按热度按时间0pizxfdo1#
您可以在
initState()
内部初始化base64图像,而不是在Widget build()
内部调用MemoryImage。这应防止小工具上发生“ Flink ”,因为状态发生变化时通常会刷新屏幕。