Xamarin 中的图像缓存问题 Android
Image Caching Issue In Xamarin Android
我正在研究 Xamarin Android Application.To 缓存图像我已经包含了这个包:
MvvmCross.HotTuna.Plugin.DownloadCache
MvvmCross.HotTuna.Plugin.File
MvvmCross.HotTuna.Plugin.Json
我的 BootStrap 文件是,
using Cirrious.CrossCore.Plugins;
namespace Main.Droid.Bootstrap
{
public class DownloadCachePluginBootstrap
: MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.DownloadCache.PluginLoader>
{
}
}
using Cirrious.CrossCore.Plugins;
namespace Main.Droid.Bootstrap
{
public class FilePluginBootstrap
: MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.File.PluginLoader>
{
}
}
using Cirrious.CrossCore.Plugins;
namespace Main.Droid.Bootstrap
{
public class JsonPluginBootstrap
: MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.Json.PluginLoader>
{
}
}
这就是我从 Internet 下载图片的方式:
private void GetImageBitmapFromUrlAsync(string url)
{
WebClient webClient = new WebClient();
webClient.DownloadDataCompleted += delegate(object sender, DownloadDataCompletedEventArgs e)
{
if (e.Result != null && e.Result.Length > 0)
{
var options = new BitmapFactory.Options
{
InJustDecodeBounds = false,
};
// BitmapFactory.DecodeResource() will return a non-null value; dispose of it.
using (var dispose = BitmapFactory.DecodeByteArray(e.Result,0, e.Result.Length, options))
imageview.SetImageBitmap(dispose);
}
};
webClient.DownloadDataAsync(new Uri(url));
}
我的问题是图像不正常 cached.What 我做错了吗?任何解决方案?请帮忙!
在不考虑缓存、延迟或重试图像下载、转换、速度等(因为所有这些都是自动处理的)的情况下处理图像的最佳方法是Picasso。
一旦尝试,您将永远不会回来。
我正在研究 Xamarin Android Application.To 缓存图像我已经包含了这个包:
MvvmCross.HotTuna.Plugin.DownloadCache
MvvmCross.HotTuna.Plugin.File
MvvmCross.HotTuna.Plugin.Json
我的 BootStrap 文件是,
using Cirrious.CrossCore.Plugins;
namespace Main.Droid.Bootstrap
{
public class DownloadCachePluginBootstrap
: MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.DownloadCache.PluginLoader>
{
}
}
using Cirrious.CrossCore.Plugins;
namespace Main.Droid.Bootstrap
{
public class FilePluginBootstrap
: MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.File.PluginLoader>
{
}
}
using Cirrious.CrossCore.Plugins;
namespace Main.Droid.Bootstrap
{
public class JsonPluginBootstrap
: MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.Json.PluginLoader>
{
}
}
这就是我从 Internet 下载图片的方式:
private void GetImageBitmapFromUrlAsync(string url)
{
WebClient webClient = new WebClient();
webClient.DownloadDataCompleted += delegate(object sender, DownloadDataCompletedEventArgs e)
{
if (e.Result != null && e.Result.Length > 0)
{
var options = new BitmapFactory.Options
{
InJustDecodeBounds = false,
};
// BitmapFactory.DecodeResource() will return a non-null value; dispose of it.
using (var dispose = BitmapFactory.DecodeByteArray(e.Result,0, e.Result.Length, options))
imageview.SetImageBitmap(dispose);
}
};
webClient.DownloadDataAsync(new Uri(url));
}
我的问题是图像不正常 cached.What 我做错了吗?任何解决方案?请帮忙!
在不考虑缓存、延迟或重试图像下载、转换、速度等(因为所有这些都是自动处理的)的情况下处理图像的最佳方法是Picasso。
一旦尝试,您将永远不会回来。