我正在检索服务器的一组图像,图像以字符串形式存储。 我是如何做到这一点的:
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还不熟悉
答案 0 :(得分:1)
所以,如果我理解正确,你想在后台进行解码?如果是这样,您可以使用以下命令启动后台任务:
Task.Run(() =>
{
//Code here
});
修改强> 您似乎更感兴趣的是在应用程序中加快图像加载速度。 我建议你看一下:https://forums.xamarin.com/discussion/58341/ffimageloading-plugin-fast-and-memory-friendly-image-loader-ios-android-forms-windows