setImageWithUrl method
Future<void>
setImageWithUrl(
- String url,
- String forKey, {
- Duration timeout = const Duration(seconds: 30),
- int maxBytes = 16 * 1024 * 1024,
- int maxPixels = 16777216,
})
Implementation
Future<void> setImageWithUrl(
String url,
String forKey, {
Duration timeout = const Duration(seconds: 30),
int maxBytes = 16 * 1024 * 1024,
int maxPixels = 16777216,
}) async {
_checkActive();
final request = Object();
_imageRequests[forKey] = request;
try {
final bytes = await loadNetworkBytes(
url,
timeout: timeout,
maxBytes: maxBytes,
);
if (_disposed || _imageRequests[forKey] != request) return;
final image = await decodeResourceImage(bytes, maxPixels: maxPixels);
if (_disposed || _imageRequests[forKey] != request) {
image.dispose();
return;
}
_replaceImage(image, forKey);
} catch (_) {
if (!_disposed && _imageRequests[forKey] == request) rethrow;
} finally {
if (_imageRequests[forKey] == request) _imageRequests.remove(forKey);
}
}