title: Flutter firestore listen is interrupting by previous page firestore listen
body: <p>I am developing an app with firestore. In my app main screen i am calling firestore listener in <code>initState()</code>. when i am going next screen (Screen B) then the previous screen (main screen) <code>initState()</code> function
  executing  and interrupting listeners in screen B. I am not calling main screen initState() in Screen B.
  Why it showing ?
  Below shown as the code.</p>
  
  <pre><code>   class MainScreen extends StatelessWidget {
      MainScreen({Key key}): super(key: key);
  
      //The title want to My App
      @override
      Widget build(BuildContext context) {
          return new MaterialApp(
              title: 'My App',
              home: MyMainPage(title: 'MyApp',));
      }
      }
  
      class MyMainPage extends StatefulWidget {
      MyMainPage({Key key, this.title}) : super(key: key);
      final String title;
  
  
      @override
      _MyMainPageState createState() =&gt; new _MyMainPageState();
      }
  
  
      class _MyMainPageState extends State&lt;MyMainPage&gt; with TickerProviderStateMixin {
      _MyMainPageState();
  
          @override
      void initState(){
          super.initState();
  
          loadData();
  
      }
  
      loadData(){
  
          widget.authentication.getFirestore().collection("xxx").document("xxx").collection("xxx")
          .snapshots().listen((data){
                  debugPrint("Entered in _loadData firebase fn in MainScreen");
          });
      }
  
          @override
      Widget build(BuildContext context) {
          return new  new Scaffold(
          backgroundColor: Colors.white,
              appBar: new AppBar(
              iconTheme: IconThemeData(
                  color: Colors.black, //change font color here
              ),
              ),
              body:new RaisedButton(child:new Text("click),onPressed: () {redirectToScreenB();})
  
      }
  
      redirectToScreenB(
              Navigator.push(context,MaterialPageRoute(builder: (context) =&gt; ScreenB()));
              //I have used no change found
              //  Navigator.pushAndRemoveUntil(context,MaterialPageRoute(builder: (context) =&gt; ScreenB()),ModalRoute.withName('/'));
  
      )
  
  
      }
  </code></pre>
  
  <p>code for ScreenB</p>
  
  <pre><code>    class ScreenB extends StatefulWidget {
          ScreenBage({Key key, this.title}) : super(key: key);
          final String title;
          @override
          ScreenBPageState createState() =&gt; new ScreenBPageState();
      }
  
  
      class ScreenBPageState extends State&lt;ScreenB&gt; with TickerProviderStateMixin {
      ScreenBPageState();
  
          @override
      void initState(){
          super.initState();
          debugPrint("Screen B initState");
  
          loadSecondData();
  
      }
  
          loadSecondData(){
  
              debugPrint("loadSecondData started");
  
              widget.authentication.getFirestore().collection("xxx").document("uid")
  .collection("data").where("name", isEqualTo:"xxxx")
          .snapshots().listen((data){
                  debugPrint("Entered in loadSecondData firebase fn in ScreenB");
          });
      }
  </code></pre>
  
  <p>The out put is coming when going to ScreenB </p>
  
  <p>Screen B initState
  loadSecondData started
  Entered in _loadData firebase fn in MainScreen</p>
  
  <p>And the <code>loadSecondData()</code> is stoping . Why the previous page listener is loading in new page.
  I have tried <code>StreamBuilder</code> but not <code>loadSecondData()</code> without interrupt.</p>