The following behaviors might negatively impact
your app’s performance.

Avoid using the Opacity widget,
and particularly avoid it in an animation.
Use AnimatedOpacity or FadeInImage instead.
For more information, check out
Performance considerations for opacity animation.

When using an AnimatedBuilder,
avoid putting a subtree in the builder
function that builds widgets that don’t
depend on the animation. This subtree is
rebuilt for every tick of the animation.
Instead, build that part of the subtree
once and pass it as a child to
the AnimatedBuilder. For more information,
check out Performance optimizations.

Avoid clipping in an animation.
If possible, pre-clip the image before animating it.

Avoid using constructors with a concrete List
of children (such as Column() or ListView())
if most of the children are not visible
on screen to avoid the build cost.