When you write MyAnimatedWidget() in your code, this means that you initiate a new instance of widget again that’s why the old one is getting disposed because it isn’t used anymore. You can create a field of type MyAnimatedWidget() inside your class and return it with the opacity or not .
Read moreWhen should we use dispose?
The dispose pattern is used for objects that implement the IDisposable interface, and is common when interacting with file and pipe handles, registry handles, wait handles, or pointers to blocks of unmanaged memory . This is because the garbage collector is unable to reclaim unmanaged objects.
Read moreWhy in it dispose is used flutter?
We uses dispose() method in order to stop/avoid memory linkage when state object is removed from the widget tree .
Read moreHow do you dispose of ticker flutters?
All Tickers must be disposed before calling super. dispose(). Tickers used by AnimationControllers should be disposed by calling dispose() on the AnimationController itself . Otherwise, the ticker will leak.
Read more