<p dir="auto">My current use case is a twitter post like edit box which highlights certain words with a different color. eg:</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/86928/30236910-46c5dcf0-9543-11e7-98ee-75ea04be8f56.png"><img src="https://user-images.githubusercontent.com/86928/30236910-46c5dcf0-9543-11e7-98ee-75ea04be8f56.png" alt="image" style="max-width: 100%;"></a></p>
<p dir="auto">When calling the method "jumpTo" on the <code class="notranslate">ScrollController</code>, the <code class="notranslate">ListView</code> builds every item between the current position and the "scrollTo" position;</p>
<p dir="auto">This code snippet shows the problem. In the log, it will print every item , from 0 to 10000, wich takes a loooong time to run and freezes the entire application.</p>
<p dir="auto">The desired behavior should be the list building only the last elements of the list.</p>
<div class="highlight highlight-source-dart notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="class TestListViewBuilder extends StatelessWidget {
  final _values = List.generate(10000, (index) =&gt; index);
  final _controller = ScrollController();

  @override
  Widget build(BuildContext context) {
    return Column(
      children: &lt;Widget&gt;[
        RaisedButton(
          child: Text(&quot;Go to bottom&quot;),
          onPressed: () {
            _controller.jumpTo(_controller.position.maxScrollExtent);
          },
        ),
        Expanded(
          child: ListView.builder(
            controller: _controller,
            itemBuilder: (context, index) {
              print(&quot;Building index $index&quot;);
              return ListTile(title: Text(&quot;Index $index&quot;));
            },
            itemCount: _values.length,
          ),
        ),
      ],
    );
  }
}
"><pre class="notranslate"><span class="pl-k">class</span> <span class="pl-c1">TestListViewBuilder</span> <span class="pl-k">extends</span> <span class="pl-c1">StatelessWidget</span> {
  <span class="pl-k">final</span> _values <span class="pl-k">=</span> <span class="pl-c1">List</span>.<span class="pl-en">generate</span>(<span class="pl-c1">10000</span>, (index) <span class="pl-k">=&gt;</span> index);
  <span class="pl-k">final</span> _controller <span class="pl-k">=</span> <span class="pl-c1">ScrollController</span>();

  <span class="pl-k">@override</span>
  <span class="pl-c1">Widget</span> <span class="pl-en">build</span>(<span class="pl-c1">BuildContext</span> context) {
    <span class="pl-k">return</span> <span class="pl-c1">Column</span>(
      children<span class="pl-k">:</span> <span class="pl-k">&lt;</span><span class="pl-c1">Widget</span><span class="pl-k">&gt;</span>[
        <span class="pl-c1">RaisedButton</span>(
          child<span class="pl-k">:</span> <span class="pl-c1">Text</span>(<span class="pl-s">"Go to bottom"</span>),
          onPressed<span class="pl-k">:</span> () {
            _controller.<span class="pl-en">jumpTo</span>(_controller.position.maxScrollExtent);
          },
        ),
        <span class="pl-c1">Expanded</span>(
          child<span class="pl-k">:</span> <span class="pl-c1">ListView</span>.<span class="pl-en">builder</span>(
            controller<span class="pl-k">:</span> _controller,
            itemBuilder<span class="pl-k">:</span> (context, index) {
              <span class="pl-en">print</span>(<span class="pl-s">"Building index $<span class="pl-v">index</span>"</span>);
              <span class="pl-k">return</span> <span class="pl-c1">ListTile</span>(title<span class="pl-k">:</span> <span class="pl-c1">Text</span>(<span class="pl-s">"Index $<span class="pl-v">index</span>"</span>));
            },
            itemCount<span class="pl-k">:</span> _values.length,
          ),
        ),
      ],
    );
  }
}
</pre></div>
<p dir="auto">Flutter doctor:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[√] Flutter (Channel unknown, v0.11.9, on Microsoft Windows [versÃ£o 10.0.17134.407], locale pt-BR)
[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[√] Android Studio (version 3.2)
[√] IntelliJ IDEA Community Edition (version 2018.3)
[√] Connected device (1 available)

• No issues found!"><pre class="notranslate"><code class="notranslate">[√] Flutter (Channel unknown, v0.11.9, on Microsoft Windows [versÃ£o 10.0.17134.407], locale pt-BR)
[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[√] Android Studio (version 3.2)
[√] IntelliJ IDEA Community Edition (version 2018.3)
[√] Connected device (1 available)

• No issues found!
</code></pre></div>