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实现地图功能 & 百度地图显示网格问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)