Repository: flutter
Issue: [webview_flutter] Widgets disappear when during route transition animation with webviews using hybrid composition
Labels: platform-android,a: platform-views,p: webview,package,has reproducible steps,P2,found in release: 2.0,found in release: 2.2,team-android,triaged-android

I have a page that contains a webview and some flutter widgets,after open more then one webview page, when route animation is running, some flutter widget disappear， like the gif:
<img src="https://user-images.githubusercontent.com/24406775/115810737-0504aa80-a421-11eb-9967-5f2657fb8df7.gif" height="450" />
I know that PlatformView should not participate in animation, but according to the description of the official website, I think it should mainly have a greater impact on performance, rather than cause the Widget to disappear

<img src="https://user-images.githubusercontent.com/24406775/115811053-a12eb180-a421-11eb-89f2-31ac52689a66.png" height="450" />


<details> 
<summary>flutter doctor -v</summary> 

```console
[✓] Flutter (Channel stable, 2.0.5, on macOS 11.2.3 20D91 darwin-arm, locale
    zh-Hans)
    • Flutter version 2.0.5 at /Users/tianshuxin/Library/flutter
    • Framework revision adc687823a (6 days ago), 2021-04-16 09:40:20 -0700
    • Engine revision b09f014e96
    • Dart version 2.12.3
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/tianshuxin/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = /Users/tianshuxin/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.9.1+0-b77-7246554)

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.55.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (2 available)
    • MI 6X (mobile) • 49b6a9be • android-arm64  • Android 9 (API 28)
    • Chrome (web)   • chrome   • web-javascript • Google Chrome 90.0.4430.85

• No issues found!
```
	
</details>

my code :

<details> 
<summary>code sample</summary> 

```dart
class SingleWebViewWithOpenAnotherButtonPage extends StatefulWidget {
  static int id = 0;

  const SingleWebViewWithOpenAnotherButtonPage({Key? key}) : super(key: key);

  @override
  _SingleWebViewWithOpenAnotherButtonPageState createState() =>
      _SingleWebViewWithOpenAnotherButtonPageState();
}

class _SingleWebViewWithOpenAnotherButtonPageState
    extends State<SingleWebViewWithOpenAnotherButtonPage> {
  late int id;

  @override
  void initState() {
    super.initState();
    id = SingleWebViewWithOpenAnotherButtonPage.id++;
    if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("WebPage $id"),
      ),
      body: Column(
        children: [
          Container(
            height: 40,
            color: Colors.green,
          ),
          Expanded(
            child: WebView(
              initialUrl: "https://flutter.cn/",
            ),
          ),
          Container(
            height: 40,
            color: Colors.blue,
          ),
          Container(
            height: 40,
            color: Colors.yellow,
          )
        ],
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.open_in_browser),
        onPressed: () {
          Navigator.of(context).push(
            CupertinoPageRoute(
              builder: (_) => SingleWebViewWithOpenAnotherButtonPage(),
            ),
          );
        },
      ),
    );
  }
}
``` 

</details>