Skip to content

Commit 2d257ac

Browse files
committed
⚡️ Add dispose method the AssetPicker
1 parent b974b8d commit 2d257ac

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

lib/src/delegates/asset_picker_builder_delegate.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,15 @@ abstract class AssetPickerBuilderDelegate<A, P> {
163163
/// 当前的权限是否为受限
164164
bool get isPermissionLimited => permission.value == PermissionState.limited;
165165

166+
/// Keep a dispose method to sync with [State].
167+
/// 保留一个 dispose 方法与 [State] 同步。
168+
void dispose() {
169+
provider.dispose();
170+
gridScrollController.dispose();
171+
permission.dispose();
172+
permissionOverlayHidden.dispose();
173+
}
174+
166175
/// Path entity select widget builder.
167176
/// 路径选择部件构建
168177
Widget pathEntitySelector(BuildContext context);

lib/src/delegates/asset_picker_viewer_builder_delegate.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ abstract class AssetPickerViewerBuilderDelegate<A, P> {
107107
/// Keep a dispose method to sync with [State].
108108
/// 保留一个 dispose 方法与 [State] 同步。
109109
void dispose() {
110+
provider?.dispose();
110111
pageStreamController.close();
111112
previewingListController.dispose();
112113
selectedNotifier.dispose();

lib/src/widget/asset_picker.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ class AssetPickerState<A, P> extends State<AssetPicker<A, P>>
256256
@override
257257
void dispose() {
258258
WidgetsBinding.instance!.removeObserver(this);
259+
widget.builder.dispose();
259260
super.dispose();
260261
}
261262

0 commit comments

Comments
 (0)