Repository: flutter
Issue: Drawn 1px smaller than the original widget size when use initExpensiveAndroidView
Labels: platform-android,a: platform-views,has reproducible steps,P2,found in release: 3.3,found in release: 3.7,team-android,triaged-android

I'm making a new version of [FlutterNaverMap](https://github.com/note11g/flutter_naver_map).

While making it, I saw that using Hybrid Composition(initExpensiveAndroidView), it draws 1px smaller.
and.. google map same issue too. (I checked.)

but, no issue with 
`AndroidView`(virutal display)
or `PlatformViewsService.initAndroidView`
or `PlatformViewsService.initSurfaceAndroidView`.

(On Android, Using GLSurfaceView or TextureView. Both equally has this issue.)
the issue seemed simmlar this issue(https://github.com/flutter/flutter/issues/103630)

Here's the code with this issue.

```dart
/* ----- MapWidget ----- */
class NaverMap extends StatefulWidget {
  final NaverMapViewOptions options;
  final void Function(NaverMapController controller)? onMapReady;

  const NaverMap({
    Key? key,
    this.onMapReady,
    this.options = const NaverMapViewOptions(),
  }) : super(key: key);

  @override
  State<NaverMap> createState() => _NaverMapState();
}

class _NaverMapState extends State<NaverMap> {
  @override
  Widget build(BuildContext context) {
    return _PlatformViewCreator.createPlatformView(
      viewType: _naverMapNativeViewType,
      gestureRecognizers: const <Factory<OneSequenceGestureRecognizer>>{},
      creationParams: payload,
      onPlatformViewCreated: _onPlatformViewCreated,
      androidSdkVersion: mapSdk.androidSdkVersion,
    );
  }
}
```
```dart
/* ----- _PlatformViewCreator class ----- */
class PlatformViewCreator {
  static StatefulWidget createPlatformView({
    required String viewType,
    TextDirection layoutDirection = TextDirection.ltr,
    required Set<Factory<OneSequenceGestureRecognizer>> gestureRecognizers,
    PlatformViewHitTestBehavior hitTestBehavior =
        PlatformViewHitTestBehavior.opaque,
    required NPayload creationParams,
    MessageCodec<dynamic> creationParamsCodec = const StandardMessageCodec(),
    required void Function(int id) onPlatformViewCreated,
    required int? androidSdkVersion,
  }) {
    if (Platform.isAndroid) {
      return PlatformViewLink(
        viewType: viewType,
        surfaceFactory: (context, controller) => AndroidViewSurface(
          controller: controller as AndroidViewController,
          gestureRecognizers: gestureRecognizers,
          hitTestBehavior: hitTestBehavior,
        ),
        onCreatePlatformView: (params) {
          final view = PlatformViewsService.initExpensiveAndroidView(
              id: params.id,
              viewType: viewType,
              layoutDirection: layoutDirection,
              creationParams: creationParams.json,
              creationParamsCodec: creationParamsCodec,
              onFocus: () => params.onFocusChanged(true));

          view.addOnPlatformViewCreatedListener((id) {
            params.onPlatformViewCreated(id);
            onPlatformViewCreated(id);
          });

          return view..create();
        },
      );
    } else if (Platform.isIOS) {
      // using UiKitView...
    } else {
      throw PlatformException(code: "unsupportedPlatform");
    }
  }
}
```

code using screenshot (see below)
```dart
@override
  Widget build(BuildContext context) {
    final mediaQuery = MediaQuery.of(context);

    return Scaffold(
      backgroundColor: const Color(0xFF343945),
      body: Center(
        child: Container(
          width: (mediaQuery.size.width - 60),
          height: (mediaQuery.size.height - 120),
          color: Colors.greenAccent,
          child: LayoutBuilder(builder: (context, constraints) {
              final physicalWidth = constraints.maxWidth * pixelRatio;
              final physicalHeight = constraints.maxHeight * pixelRatio;
              dev.log("$physicalWidth, $physicalHeight", name: "checkViewSizeFlutter");
              return _naverMapSection();
          })), // Container
      ), // Center
    ); // Scaffold
}

Widget _naverMapSection() => NaverMap(
        options: const NaverMapViewOptions(
          mapType: MapType.navi,
          nightModeEnable: true,
          locationButtonEnable: true,
        ),
        onMapReady: (controller) {
          _controller = controller;
          print("onMapReady");
        },
      );
```


### screenshots and logs
|initExpensiveAndroidView(issue)|initAndroidView|initSurfaceAndroidView|AndroidView|
|:---:|:---:|:---:|:---:|
|<img src="https://user-images.githubusercontent.com/67783062/212604898-35f7aff1-631c-430b-af57-6da944def048.png" width="160">|<img src="https://user-images.githubusercontent.com/67783062/212604932-61b17931-3ab7-44f8-b4e6-5d0a899ce9d2.png" width="160">|<img src="https://user-images.githubusercontent.com/67783062/212604954-17930b23-1536-4fed-b0e8-b32867fde605.png" width="160">|<img src="https://user-images.githubusercontent.com/67783062/212604975-0c6528c2-ac43-462f-a146-1dd06e97dbfb.png" width="160">|


LayoutBuilder is measuring size(that's original widget's physical size).
and, i logging android side view, too.
here's log.
```bash
// initExpensiveAndroidView (issue)
[checkViewSizeFlutter] 915.0, 1818.0 // flutter widget's original physical size
D/checkViewSizeAndroid( 6997): 914, 1817 // Size actually drawn in View on Android.

// initAndroidView
[checkViewSizeFlutter] 915.0, 1818.0
D/checkViewSizeAndroid( 8280): 915, 1818

// initSurfaceAndroidView
[checkViewSizeFlutter] 915.0, 1818.0
D/checkViewSizeAndroid( 8032): 915, 1818
```


### flutter doctor.
```bash
[✓] Flutter (Channel stable, 3.3.10, on macOS 13.1 22C65 darwin-arm, locale ko-KR)
    • Flutter version 3.3.10 on channel stable at /Library/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 135454af32 (5주 전), 2022-12-15 07:36:55 -0800
    • Engine revision 3316dd8728
    • Dart version 2.18.6
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/note11/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • 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 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.73.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.1 22C65 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 109.0.5414.87

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!
```