我正在使用SkiaSharp加载SVG图形。这是一个站点计划,因此相当复杂,并且加载时间很长。在我的Samsung Galaxy手机上,大约需要3秒钟,在此期间手机完全锁定,这是完全不能接受的。
我正在使用SkiaSharp.Extended.Svg.SKSvg
,但是找不到Load()
方法的异步版本。有一个吗?或者也许是一种更好的方法?
我将对象叠加在站点计划之上,并且花了我相当多的时间来对所有缩放和对齐进行排序,因此,如果可能的话,我想坚持使用SkiaSharp,而不是完全从头开始。不同于从头开始。
感谢您的帮助!
答案 0 :(得分:0)
3秒听起来有点长...
这可能不是SVG部分,而是文件从文件系统中的加载。
无论哪种方式,您都可以将整个思维加载到后台任务中(伪代码):
var picture = Task.Run(() => {
var stream = LoadStream();
var svg = LoadSvg(stream);
return svg.GetPicture();
});