개발/flutter

flutter cache image 용량 관리

덤벨로퍼 2020. 4. 29. 10:50
class CustomImageCache extends WidgetsFlutterBinding {
  @override
  ImageCache createImageCache() {
    print('createImageCache start');
    ImageCache imageCache = super.createImageCache();
    // Set your image cache size
    imageCache.maximumSizeBytes = 200 * 1024 * 1024; //200mb 이상->캐시클리어

    return imageCache;
  }
}

이렇게 클래스를 만들어놓고 imageCache의 최대용량을 설정해놓으면 

캐시이미지가 계속 쌓이게되다가 최대용량을 넘어서면 cache를 clear 해준다.

 

imageCache는 전역에서 관리해주며 

해당 클래스는 main 메소드에 불러놓음으로써 시작전 자동 실행해준다.

void main() async {
  CustomImageCache();
  runApp(MyApp());
}

최대용량을 너무 적게 지정하면 캐시이미지를 저장하지 않기때문에 계속 불러오게되어

깜박임 현상이일어난다.