diff --git a/lib/core/cache/image_cache.dart b/lib/core/cache/image_cache.dart index 4af836ef6..eacc044a0 100644 --- a/lib/core/cache/image_cache.dart +++ b/lib/core/cache/image_cache.dart @@ -16,6 +16,18 @@ class FileLruCache { } } +class ThumbnailFileLruCache { + static LRUMap _map = LRUMap(500); + + static dart.File get(File file) { + return _map.get(file.tag()); + } + + static void put(File file, dart.File imageData) { + _map.put(file.tag(), imageData); + } +} + class BytesLruCache { static LRUMap _map = LRUMap(25); diff --git a/lib/ui/thumbnail_widget.dart b/lib/ui/thumbnail_widget.dart index 4efe4a95e..2a546d5da 100644 --- a/lib/ui/thumbnail_widget.dart +++ b/lib/ui/thumbnail_widget.dart @@ -125,9 +125,9 @@ class _ThumbnailWidgetState extends State { fit: BoxFit.cover, ); } else { - if (FileLruCache.get(widget.file) != null) { + if (ThumbnailFileLruCache.get(widget.file) != null) { return Image.file( - FileLruCache.get(widget.file), + ThumbnailFileLruCache.get(widget.file), fit: widget.fit, ); } @@ -136,7 +136,7 @@ class _ThumbnailWidgetState extends State { ".jpg"; final thumbnailFile = io.File(thumbnailPath); if (thumbnailFile.existsSync()) { - FileLruCache.put(widget.file, thumbnailFile); + ThumbnailFileLruCache.put(widget.file, thumbnailFile); return Image.file( thumbnailFile, fit: widget.fit, @@ -157,7 +157,7 @@ class _ThumbnailWidgetState extends State { future: decryptedFileFuture, builder: (context, snapshot) { if (snapshot.hasData) { - FileLruCache.put(widget.file, snapshot.data); + ThumbnailFileLruCache.put(widget.file, snapshot.data); return Image.file( snapshot.data, fit: widget.fit,