//请在APP起动的时候调用 public async static void TryInit() { var options = new DisplayImageOptions.Builder() .CacheInMemory(false) .CacheOnDisk(true) .Build(); var root = ApplicationData.Current.LocalFolder; //图标 var iconDir = await root.CreateFolderAsync("icon", CreationCollisionOption.OpenIfExists); Icon = ImageLoader.Register("icon", new ImageLoaderConfiguration.Builder() .ThreadPoolSize(5) .TasksProcessingOrder(QueueProcessingType.FIFO) .DiskCache(new DiskCache(iconDir, new Md5FileNameGenerator())) .DefaultDisplayImageOptions(options) .ImageDownloader(new HttpClientImageDownloader()) .Build()); //像册 var photoDir = await root.CreateFolderAsync("photo", CreationCollisionOption.OpenIfExists); Photo = ImageLoader.Register("photo", new ImageLoaderConfiguration.Builder() .ThreadPoolSize(5) .TasksProcessingOrder(QueueProcessingType.FIFO) .DiskCache(new DiskCache(photoDir, new Md5FileNameGenerator())) .DefaultDisplayImageOptions(options) .ImageDownloader(new HttpClientImageDownloaderEx()) //使用自定义扩展支持高级用法 .Build()); }
//请在APP起动的时候调用 public static void TryInit() { var options = new DisplayImageOptions.Builder() .CacheInMemory(false) .CacheOnDisk(true) .Build(); ImageLoader.Default.Init(new ImageLoaderConfiguration.Builder() .ThreadPoolSize(5) .TasksProcessingOrder(QueueProcessingType.FIFO) .DiskCache(new DiskCache(ApplicationData.Current.LocalFolder, new Md5FileNameGenerator())) .DefaultDisplayImageOptions(options) .ImageDownloader(new HttpClientImageDownloader()) .Build()); }
//=============== //以下是高级用户 public static void DownloadPhoto(string url, Action<BitmapImage> callback) { var user = new User() { UserID = "1", Sex = "0" }; //可以从本地Session处取得 var options = new DisplayImageOptions.Builder() .CacheInMemory(false) .CacheOnDisk(true) .ExtraForDownloader(user) .Build(); Photo.DownloadImage(url, options, (state, uri, view, img) => { if (state == LoadingState.Completed) { callback(img); } }); }