Flutter 中不同分辨率的图片如何加载

Flutter 中不同分辨率的图片如何加载,第1张

1说明:

我们都知道在使用 Android 原生开发 app 的时候不同分辨率的放置到下面对应的文件夹中:

但是使用 Flutter 开发 app 时却有不同,他们也有一个对应的关系,按照他们的对应关系建立文件夹就可以了,如下:

2使用:

首先在 Flutter 项目根目录中创建一个 images 文件夹用来存放资源;

然后在项目目录下找到 pubspecyaml 文件打开,声明资源;

如何加载不同分辨率的图呢,例如 android 中的 hdpi,xhdpi,xxhdpi 和 ios 中的 1x,2x,3x。只需要在 images 文件夹中在创建两个 20x,30x 文件夹用来存放 2x,3x 的资源:

如上图,10x 放到了 account 文件夹中,account 文件夹下又有 15x、20x、30x、40x 文件夹,分别存放对应分辨率的,这里要注意文件夹的对应关系。

使用时,只需要使用 account 文件夹下的就行了,系统会根据手机的分辨率,加载对应文件夹中的,如:

Flutter的缓存机制有问题(可能是我使用的版本11213有问题)

网络会默认缓存到本地,但是不管是不是完整的或者损坏的,导致页面在下次进入的时候会优先从缓存里读取。有些是没有加载完成的,或者损坏的,导致无法显示。UI效果就是显示成白色的。

一种解决方式:加载前或者退出后清理缓存

ImageCache  imageCache = PaintingBindinginstanceimageCache; 

imageCacheclear();

缺点就是每次都想要从网络上获取,增加服务器负担

我是初学者小白,所以很多看法不深,理解也不够透彻。但是很适合小白们一起从低角度往高处探索。文中有错误的,感谢指正,一起进步。

趁着假期做一个Flutter的地图功能,因为后端选用了百度地图,所以前端没得挑。找了遍插件,并没有现成可用的。(不过发现了百度官方也自开发Flutter插件,目前功能只有一个获取本地位置信息,后期会继续增加吧?很期待!)

参考帖子: >

以上就是关于Flutter 中不同分辨率的图片如何加载全部的内容,包括:Flutter 中不同分辨率的图片如何加载、flutter 图片缓存、【百度地图篇】1.Flutter+百度Sdk实现地图功能 & 百度地图显示网格问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9745582.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存