读取资产图像尺寸而不加载到内存中

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

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

我正在做:

Image _mainMenuTable = Image.asset("images/main_menu_table.png");

但不是将小部件放入内存并将图像加载到内存吗?即使我不在任何地方显示它。

我也尝试过创建一个AssetImage,已经将其设置为Container的背景图像,但是我无法从中获取图像的尺寸。

[是否有Image.asset更好的办法?这样,我确实可以动态获取宽度和高度,但是它将两次加载到内存中,不是吗?一次作为Image,一次作为AssetImage

Disclaimer:这是我第二次进入Flutter,所以请保持温和,以防答案显而易见。

欢呼!

flutter flutter-layout
1个回答
0
投票

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

import 'dart:io';

void main(){
  var file = File('file_path');
  file.length().then((len) => print(len)); //prints bytes
}
© www.soinside.com 2019 - 2024. All rights reserved.