https://api.flutter.dev/flutter/widgets/ListView-class.html のところに書いてあるでしょ
Child elements' lifecycle
Creation
While laying out the list, visible children's elements, states and render objects will be created lazily based on existing widgets (such as when using the default constructor) or lazily provided ones (such as when using the ListView.builder constructor).
リストをレイアウトするとき、見える子のElement,State,RenderObjectsがLazyに作成される
Destruction
When a child is scrolled out of view, the associated element subtree, states and render objects are destroyed. A new child at the same position in the list will be lazily recreated along with new elements,
states and render objects when it is scrolled back.
子がビューからスクロールアウトしたら、関連するElement,State,RenderObjectsは全部破棄される
で、その後に
Destruction mitigation
で続きがあって、ListView.BuilderのaddAutomaticKeepAlivesがtrueだと保持されるの??
ここら辺はまだよく知らねw
だから、結局、基本、見えてる部分+前後の多少のマージンの部分だけが保持されてるでOKじゃね??
見えてない部分は保持されてない
巨大なリストでも問題なし
でこの話は終了
異論は認めない