克隆 ImageSource 以节省时间 xamarin.forms for android



我有一个大约 50 行的列表视图。

每一行都是我自己的自定义列表视图单元格,由文本视图和最后的图像视图组成。

所有 50 行的图像始终相同。

该图像是一个 svg txt 资源文件。

我有一个外部包可以将svg文本转换为ImageSource(Vapolia.xamsvg)

问题是我将 svg 字符串转换为图像源大约需要 40 - 50 毫秒,我必须这样做 50 次才能在列表视图中为 50 行创建 50 个图像视图

我可以复制(克隆)图像源并将 svg 的转换保存到图像源吗?

只需创建一个可以在构造函数MemoryStream提供的字节数组:

var byteArray = yourStream.ToArray();
yourStream?.Dispose();
for (int i = 0; i < 50; i++)
{
    var imageSource = ImageSource.FromStream(() => { return new MemoryStream(byteArray); });
}

最新更新