Baseflow / flutter_cache_manager

Generic cache manager for flutter
https://baseflow.com
MIT License
739 stars 427 forks source link

Bad state: Future already completed #400

Open lzhAndroid opened 1 year ago

lzhAndroid commented 1 year ago

Bad state: Future already completed 0 _AsyncCompleter.complete (dart:async/future_impl.dart:35:31)

1 _decodeImage. (package:flutter_cache_manager/src/cache_managers/image_cache_manager.dart:161:15)

2 ImageStreamCompleter.setImage (package:flutter/src/painting/image_stream.dart:655:25)

3 MultiFrameImageStreamCompleter._emitFrame (package:flutter/src/painting/image_stream.dart:998:5)

4 MultiFrameImageStreamCompleter._handleAppFrame (package:flutter/src/painting/image_stream.dart:922:7)

5 MultiFrameImageStreamCompleter._handleAppFrame (package:flutter/src/painting/image_stream.dart:915:3)

6 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)

7 SchedulerBinding.handleBeginFrame. (package:flutter/src/scheduler/binding.dart:1140:11)

8 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:625:13)

9 SchedulerBinding.handleBeginFrame (package:flutter/src/scheduler/binding.dart:1138:17)

10 SchedulerBinding._handleBeginFrame (package:flutter/src/scheduler/binding.dart:1055:5)

11 SchedulerBinding._handleBeginFrame (package:flutter/src/scheduler/binding.dart:1046:3)

12 _rootRunUnary (dart:async/zone.dart:1414:13)

13 _rootRunUnary (dart:async/zone.dart:1404:1)

14 _CustomZone.runUnary (dart:async/zone.dart:1307:19)

15 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1216:7)

16 _invoke1 (dart:ui/hooks.dart:166:10)

17 PlatformDispatcher._beginFrame (dart:ui/platform_dispatcher.dart:316:5)

18 _beginFrame (dart:ui/hooks.dart:101:31)

19 _beginFrame (dart:ui/hooks.dart:99:1)

cq-z commented 1 year ago

me too

image image
kirill-21 commented 5 months ago

image Same

kirill-21 commented 5 months ago

This is related to maxWidthDiskCache & maxHeightDiskCache, i can reproduce this issue if placing a lot of images to a gridview.builder and specifying this variables