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()方法,但它需要一个字节列表作为参数,为此我们必须读取图像。不过肯定还有别的办法。如果我们能以某种方式访问图像的元数据,那可能会有所帮助。是的,没错。这将为内存管理带来奇迹。但仍在等待有人回答,可能有什么问题。。。