dispose method
关闭页面后,请求取消。
Implementation
@override
void dispose() {
if (!autoDispose()) {
super.dispose();
return;
}
for (var live in _lives) {
live.destroy();
}
for (var event in eventMap.entries) {
event.value.unregister(event.key.key, event.key.value);
}
for (var ld in _liveDataList) {
ld.destroy();
}
for (var vm in _viewModels) {
vm.destroy();
if (vm is AnHttpMixin) {
(vm as AnHttpMixin).disposeRequestToken();
}
if (vm is EventBusMixin) {
(vm as EventBusMixin).unregisterEvents();
}
if (vm is OverlayActionMixin) {
var oa = vm as OverlayActionMixin;
oa.disposeOverlayAction();
oa.setOverlayAction(null);
}
}
_viewModels.clear();
_liveDataList.clear();
super.dispose();
}