Flutter 读取资产映像维度而不加载到内存中

Flutter 读取资产映像维度而不加载到内存中,flutter,flutter-layout,Flutter,Flutter Layout,我试图找出资产文件的尺寸(宽度和高度),但不将其加载到内存中,或使用尽可能少的内存 我目前正在做: Image\u mainMenuTable=Image.asset(“images/main\u menu\u table.png”) 但是,这不会使一个小部件进入内存,并将图像加载到它吗?即使我没有在任何地方展示它 我还尝试创建了一个AssetImage,我已经将其设置为容器的背景图像,但是我无法从中检索图像的尺寸 有没有更好的方法可以使用Image.asset?这样,我确实可以动态地获得我的宽

我试图找出资产文件的尺寸(宽度和高度),但不将其加载到内存中,或使用尽可能少的内存

我目前正在做:

Image\u mainMenuTable=Image.asset(“images/main\u menu\u table.png”)

但是,这不会使一个小部件进入内存,并将图像加载到它吗?即使我没有在任何地方展示它

我还尝试创建了一个
AssetImage
,我已经将其设置为
容器的背景图像,但是我无法从中检索图像的尺寸

有没有更好的方法可以使用
Image.asset
?这样,我确实可以动态地获得我的宽度和高度,但它会将其加载到内存中两次,不是吗?一次作为
图像
,一次作为
资产

免责声明:这是我进入颤振期的第二周,所以请保持温和,以防答案显而易见


干杯

您只需要使用dart:io包中的File类。 示例-

import 'dart:io';

void main(){
  var file = File('file_path');
  file.length().then((len) => print(len)); //prints bytes
}

隐马尔可夫模型。。。我需要的是图像的宽度和高度,而不是zise。虽然这在某种程度上是有用的。要获得高度和宽度,我们可以使用decodeMageFromList()方法,但它需要一个字节列表作为参数,为此我们必须读取图像。不过肯定还有别的办法。如果我们能以某种方式访问图像的元数据,那可能会有所帮助。是的,没错。这将为内存管理带来奇迹。但仍在等待有人回答,可能有什么问题。。。