I've got some basic code for tabs in Flutter.

main.dart

import 'package:flutter/material.dart';
import './tab.dart' as tab;

void main(){
  runApp(new MaterialApp(
    home: new Tabs()
  ));
}

class Tabs extends StatefulWidget {
  @override
  TabsState createState() => new TabsState();
}

class TabsState extends State<Tabs> with SingleTickerProviderStateMixin {
  TabController controller;

  @override
  void initState() {
    super.initState();
    controller = new TabController(vsync: this, length: 4);
  }

  @override
  void dispose() {
    controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text("Pages"), 
        backgroundColor: Colors.deepOrange
      ),
      bottomNavigationBar: new Material(
        color: Colors.deepOrange,
        child: new TabBar(
          controller: controller,
          tabs: <Tab>[
            new Tab(icon: new Icon(Icons.trending_up)),
            new Tab(icon: new Icon(Icons.announcement)),
            new Tab(icon: new Icon(Icons.more_horiz)),
          ]
        )
      ),
      body: new TabBarView(
        controller: controller,
        children: <Widget>[
          new tab.Tab(),
          new tab.Tab(),
          new tab.Tab(),
        ]
      )
    );
  }
}

tab.dart

import 'package:flutter/material.dart';

class Tab extends StatefulWidget {
  @override
  TabState createState() => new TabState();
}

class TabState extends State<Tab> with AutomaticKeepAliveClientMixin<Tab> {
  @override
  bool get wantKeepAlive => true;
  updateKeepAlive();

  double _val = 100;

  void _incVal() {
    setState(() {
      _val+=10;
    });
  }

  Widget build(BuildContext context) {
    super.build(context);
    return new Container(
      child: new Center(
        child: new FlatButton(
          onPressed: _incVal,
          child: new Icon(Icons.accessibility_new, size: _val, color: Colors.orange)
        )
      )
    );
  }
}

This app simply has 3 tabs. Each pages is the same. On each page is an icon which when tapped should grow. As I've used the AutomaticKeepAliveClientMixin, the size of the icon should stay when switching tabs, and this is the case, except in one case.

Switch to the 2nd (Middle) page, and tap the icon a few times to make it grow. Then switch to the 1st, then 3rd page, then back to the 2nd page, the icon on the 2nd page will have reverted back to the default size, rather than stay as what you grew it to.

This is a very simple example, but just shows what the issue is.