public static void Initialize(Theme theme) { _hashGenerator = new ImageHashGenerator(); foreach (var icon in new[] { Constant.DefaultIcon, Constant.ErrorIcon, Constant.LightThemedDefaultIcon, Constant.LightThemedErrorIcon }) { ImageSource img = new BitmapImage(new Uri(icon)); img.Freeze(); ImageCache[icon] = img; } UpdateIconPath(theme); Task.Run(() => { Stopwatch.Normal("ImageLoader.Initialize - Preload images cost", () => { ImageCache.Usage.AsParallel().ForAll(x => { Load(x.Key); }); }); Log.Info($"Number of preload images is <{ImageCache.Usage.Count}>, Images Number: {ImageCache.CacheSize()}, Unique Items {ImageCache.UniqueImagesInCache()}", MethodBase.GetCurrentMethod().DeclaringType); }); }
public static void Initialize(Theme theme) { _storage = new BinaryStorage <Dictionary <string, int> >("Image"); _hashGenerator = new ImageHashGenerator(); ImageCache.SetUsageAsDictionary(_storage.TryLoad(new Dictionary <string, int>())); foreach (var icon in new[] { Constant.DefaultIcon, Constant.ErrorIcon, Constant.LightThemedDefaultIcon, Constant.LightThemedErrorIcon }) { ImageSource img = new BitmapImage(new Uri(icon)); img.Freeze(); ImageCache[icon] = img; } UpdateIconPath(theme); Task.Run(() => { Stopwatch.Normal("|ImageLoader.Initialize|Preload images cost", () => { ImageCache.Usage.AsParallel().ForAll(x => { Load(x.Key); }); }); Log.Info($"|ImageLoader.Initialize|Number of preload images is <{ImageCache.Usage.Count}>, Images Number: {ImageCache.CacheSize()}, Unique Items {ImageCache.UniqueImagesInCache()}"); }); }
public static void Initialize() { _storage = new BinaryStorage <Dictionary <string, int> >("Image"); _hashGenerator = new ImageHashGenerator(); var usage = LoadStorageToConcurrentDictionary(); foreach (var icon in new[] { Constant.DefaultIcon, Constant.MissingImgIcon }) { ImageSource img = new BitmapImage(new Uri(icon)); img.Freeze(); ImageCache[icon] = img; } Task.Run(() => { Stopwatch.Normal("|ImageLoader.Initialize|Preload images cost", () => { ImageCache.Data.AsParallel().ForAll(x => { Load(x.Key); }); }); Log.Info($"|ImageLoader.Initialize|Number of preload images is <{ImageCache.CacheSize()}>, Images Number: {ImageCache.CacheSize()}, Unique Items {ImageCache.UniqueImagesInCache()}"); }); }