Setup separate cache for thumbnail files
This commit is contained in:
parent
532a9cac46
commit
35aeae2cc7
2 changed files with 16 additions and 4 deletions
12
lib/core/cache/image_cache.dart
vendored
12
lib/core/cache/image_cache.dart
vendored
|
@ -16,6 +16,18 @@ class FileLruCache {
|
|||
}
|
||||
}
|
||||
|
||||
class ThumbnailFileLruCache {
|
||||
static LRUMap<String, dart.File> _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<String, Uint8List> _map = LRUMap(25);
|
||||
|
||||
|
|
|
@ -125,9 +125,9 @@ class _ThumbnailWidgetState extends State<ThumbnailWidget> {
|
|||
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<ThumbnailWidget> {
|
|||
".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<ThumbnailWidget> {
|
|||
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,
|
||||
|
|
Loading…
Add table
Reference in a new issue