parent
dfcc0c71ba
commit
52a7479dd1
@ -6,6 +6,7 @@ import 'dart:async';
|
|||||||
import 'dart:ui' as ui;
|
import 'dart:ui' as ui;
|
||||||
|
|
||||||
import 'package:mojo/mojo/url_response.mojom.dart';
|
import 'package:mojo/mojo/url_response.mojom.dart';
|
||||||
|
import 'package:quiver/collection.dart';
|
||||||
|
|
||||||
import 'fetch.dart';
|
import 'fetch.dart';
|
||||||
import 'image_decoder.dart';
|
import 'image_decoder.dart';
|
||||||
@ -35,11 +36,16 @@ class _UrlFetcher implements ImageProvider {
|
|||||||
int get hashCode => _url.hashCode;
|
int get hashCode => _url.hashCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const int _kDefaultSize = 1000;
|
||||||
|
|
||||||
class _ImageCache {
|
class _ImageCache {
|
||||||
_ImageCache._();
|
_ImageCache._();
|
||||||
|
|
||||||
final Map<ImageProvider, ImageResource> _cache =
|
final LruMap<ImageProvider, ImageResource> _cache =
|
||||||
new Map<ImageProvider, ImageResource>();
|
new LruMap<ImageProvider, ImageResource>(maximumSize: _kDefaultSize);
|
||||||
|
|
||||||
|
int get maximumSize => _cache.maximumSize;
|
||||||
|
void set maximumSize(int value) { _cache.maximumSize = value; }
|
||||||
|
|
||||||
ImageResource loadProvider(ImageProvider provider) {
|
ImageResource loadProvider(ImageProvider provider) {
|
||||||
return _cache.putIfAbsent(provider, () {
|
return _cache.putIfAbsent(provider, () {
|
||||||
|
@ -11,6 +11,7 @@ dependencies:
|
|||||||
sky_engine: 0.0.75
|
sky_engine: 0.0.75
|
||||||
sky_services: 0.0.75
|
sky_services: 0.0.75
|
||||||
vector_math: '>=1.4.3 <2.0.0'
|
vector_math: '>=1.4.3 <2.0.0'
|
||||||
|
quiver: '>=0.21.4 <0.22.0'
|
||||||
|
|
||||||
# See the comment in flutter_tools' pubspec.yaml. We have to pin it
|
# See the comment in flutter_tools' pubspec.yaml. We have to pin it
|
||||||
# here also because sky_services depends on mojo_sdk which depends
|
# here also because sky_services depends on mojo_sdk which depends
|
||||||
|
Loading…
x
Reference in New Issue
Block a user