Skip to content

Commit db098f5

Browse files
authored
⚡️ Evict the captured image cache once returned from the viewer (#244)
Resolves #162
1 parent 7fb72c7 commit db098f5

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ See the [Migration Guide](guides/migration_guide.md) for breaking changes betwee
88

99
## Unreleased
1010

11-
*None.*
11+
- Evict the captured image cache once returned from the viewer.
1212

1313
## 4.3.2
1414

lib/src/states/camera_picker_state.dart

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1095,15 +1095,24 @@ class CameraPickerState extends State<CameraPicker>
10951095
required XFile file,
10961096
required CameraPickerViewType viewType,
10971097
}) async {
1098+
final FileImage? image;
10981099
if (viewType == CameraPickerViewType.image) {
1100+
image = FileImage(File(file.path));
10991101
await precacheImage(FileImage(File(file.path)), context);
1102+
} else {
1103+
image = null;
11001104
}
1101-
return CameraPickerViewer.pushToViewer(
1105+
final result = await CameraPickerViewer.pushToViewer(
11021106
context,
11031107
pickerConfig: pickerConfig,
11041108
viewType: viewType,
11051109
previewXFile: file,
11061110
);
1111+
if (image != null) {
1112+
final evicted = PaintingBinding.instance.imageCache.evict(image);
1113+
realDebugPrint('Preview image cache evicted: $evicted');
1114+
}
1115+
return result;
11071116
}
11081117

11091118
////////////////////////////////////////////////////////////////////////////

0 commit comments

Comments
 (0)