title: StreamBuilder inside RefreshIndicator render child widget many times, how to avoid it?
body: <p>When I put StreamBuilder in RefreshIndicator, it render widgets many times with scroll actions. I want to avoid many it because Charts inside <code>StreamBuilder</code> animate many times.</p>
  
  <p>I tested with following environment.</p>
  
  <pre><code>$ flutter doctor -v
  [✓] Flutter (Channel stable, v1.2.1, on Mac OS X 10.13.6 17G5019, locale en-JP)
      • Flutter version 1.2.1 at /Users/matsue/work/flutter/flutter_macos_v1.0.0-stable
      • Framework revision 8661d8aecd (4 weeks ago), 2019-02-14 19:19:53 -0800
      • Engine revision 3757390fa4
      • Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)
  </code></pre>
  
  <p><img src="https://user-images.githubusercontent.com/1086548/54166168-5e125e00-44a7-11e9-8c85-2514c7fecbac.gif" alt="output"></p>
  
  <pre><code>@override
  Widget build(BuildContext context) {
    return Container(
      color: Colors.white,
      child: NestedScrollView(
        headerSliverBuilder: (context, innerBoxScrolled) =&gt; [
              const SliverAppBar(
                title: Text('Title'),
              ),
            ],
        body: RefreshIndicator(
          onRefresh: () async {
            print('Will refresh');
            await Future&lt;void&gt;.delayed(Duration(seconds: 2));
            print('Did refresh');
          },
          child: StreamBuilder(
            stream: _streamController.stream,
            builder: (context, snapshot) =&gt; ListView.builder(
                  itemCount: 30,
                  itemBuilder: (context, index) {
                    print('Render $index');
                    return Text('index $index');
                  },
                ),
          ),
        ),
      ),
    );
  }
  </code></pre>
  
  <p>I want to put some <code>StreamBuilder</code> inside <code>RefreshIndicator</code> without widgets rendering many times.</p>