dispose
является окончательным.deactivate
не является.
deactivate
вызывается, когда виджет может быть удален.Но это не гарантируется.
Типичная ситуация, когда вызывается deactivate
, но не dispose
, - это при перемещении виджетов в дереве виджетов с использованием GlobalKey
.