在 Xamarin.Android 中将字节数组异步转换为位图

Asynchronously convert byte array into bitmap in Xamarin.Android

我正在检索一组服务器图像,图像以字符串形式存储。 我的做法是:

String imageString = jObject.GetString("Image");
byte[] imageAsBytes = Base64.Decode(imageString, Base64Flags.Default);
Bitmap bitmap = BitmapFactory.DecodeByteArray(imageAsBytes, 0, 
imageAsBytes.Length);
ProcImage.SetImageBitmap(bitmap);
bitmap = null;

这显然很慢。需要检索大量图像的屏幕加载时间为 8 秒。

因此,我想知道我是否可以以某种方式异步执行 "DecodeByteArray()",因为这是最耗时的。

我知道这是可能的,但我不确定如何处理这个问题,因为我对 Android 和 Xamarin

还很陌生

所以如果我没理解错的话你想在后台进行解码?如果是这样,您可以使用以下命令启动后台任务:

     Task.Run(() =>
        {
          //Code here
        });

编辑 您似乎对加快应用程序中的图像加载更感兴趣。 我建议看一下:https://forums.xamarin.com/discussion/58341/ffimageloading-plugin-fast-and-memory-friendly-image-loader-ios-android-forms-windows