我正在尝试找出资产文件的尺寸(宽度和高度),但不将其加载到内存中,或者尽可能少地使用内存。
我正在做:
Image _mainMenuTable = Image.asset("images/main_menu_table.png");
但是这不会使小部件进入内存并将图像加载到内存吗?即使我不在任何地方显示它。
我还尝试创建一个AssetImage
,我已经将其设置为Container
的背景图像,但是我无法从中获取图像的尺寸。
有没有更好的办法Image.asset
?这样,我确实可以动态获取宽度和高度,但是它将两次加载到内存中,不是吗?一次作为Image
,一次作为AssetImage
免责声明:这是我进入Flutter的第二周,所以请保持温和,以防答案显而易见。
干杯!
答案 0 :(得分:2)
您只需要使用dart:io包中的File类。 示例-
import 'dart:io';
void main(){
var file = File('file_path');
file.length().then((len) => print(len)); //prints bytes
}