You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Stream高效动态加载多张图片,解决UI线程卡顿及缓存问题

相册列表自定义流加载缩略图高效实现问题

我需要在列表中加载并展示多张图片,场景为相册列表,每个相册包含多张图片,需在相册列表中展示每个相册前4张图片的缩略图。

如果这些图片是普通URL格式,我只需创建字符串属性设置URL,在XAML中将其绑定到Image的Source属性即可,框架会自动处理图片的加载、渲染,通常还会处理缓存。

但我的技术要求是通过自定义逻辑从Stream加载图片,目前卡在如何在ViewModel中提供Stream,让View仅加载需要展示的图片流,且实现高效加载。我之前尝试在ViewModel中创建BitmapImage,调用其SetSourceAsync方法传入对应流,但要么遇到线程问题(BitmapImage仅允许由创建它的UI线程访问),要么Android端从流加载图片时应用出现卡顿,看起来加载操作还是在UI线程执行。

请问有没有合适的解决方案?如果能实现这些流的缓存就更好了,提前感谢!

2021年1月9日更新
我已经通过Skiasharp渲染位图解决了这个问题。核心方案是创建一个包含Skiasharp SKXamlCanvas 的用户控件,拿到流后创建SKBitmap并绘制到Canvas上,目前使用未出现任何问题。

内容的提问来源于stack exchange,提问作者TopperDEL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:27:03