Эта ошибка возникает, если я переключаю страницу во время загрузки изображения. И это не вызывает перезагрузки, если я вернусь на страницу. Я не понимаю, разве весь смысл в использовании loadingBuilder, frameBuilder и errorBuilder, чтобы избежать такого сценария? Разве удаление / перезагрузка не должно выполняться таким образом автоматически? Правильно ли я использовал Image.network или сам мой подход неверен?
Я также пробовал назначить Image.network
на Image _image
в init
состоянии, а затем пытался закрыть / удалить / размонтировать в методе dispose
, но ни один из методов недоступен.
Image.network(
widget.url,
fit: BoxFit.contain,
frameBuilder: (
BuildContext context,
Widget image,
int frame,
bool wasSynchronouslyLoaded,
) {
return AnimatedOpacity(
child: image,
opacity: frame == null ? 0 : 1,
duration: const Duration(seconds: 1),
curve: Curves.easeIn,
);
},
loadingBuilder: (
BuildContext context,
Widget image,
ImageChunkEvent loadingProgress,
) {
if (loadingProgress == null) return image;
if (loadingProgress != null &&
loadingProgress.cumulativeBytesLoaded <
loadingProgress.expectedTotalBytes) {
return Center(
child: CircularProgressIndicator(),
);
} else if (loadingProgress.cumulativeBytesLoaded ==
loadingProgress.expectedTotalBytes) {
return image;
}
return image;
},
errorBuilder:
(BuildContext context, Object exception, StackTrace stackTrace) {
return Center(
child: Text(
'${exception.toString()}',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 15,
),
),
);
},
)