alibaba / alibaba/flutter_boost

[FBFlutterViewContainer surfaceUpdated:YES] 导致主线程暂停

Open
#1,871 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
7.2k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

我是使用的混合模式,从Native页面进入Flutter页面,Flutter页面中包含了一个PlatformView,在执行FBFlutterViewContainer的viewDidAppear时,主线程出现锁死,小概率,目前仅在我的App中可复现。

![image](https://github.com/alibaba/flutter_boost/assets/8197207/27149cb3-f4f2-49e3-be86-f0df4311b13a)

**Flutter Boost Version:4.1.0**
**Target Platform:ALL**
**Target OS version/browser:iOS**
**Devices:ALL**

## Logs
add your crash log or something else.

[✓] Flutter (Channel stable, 3.7.6, on macOS 13.4 22F66 darwin-x64, locale zh-Hans-CN)
• Flutter version 3.7.6 on channel stable at /Users/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 12cb4eb7a0 (4 months ago), 2023-03-01 10:29:26 -0800
• Engine revision ada363ee93
• Dart version 2.19.3
• DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at /Users/fang/Library/Android/sdk
• Platform android-33, build-tools 30.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
• All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14E222b
• CocoaPods version 1.12.1

[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.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 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Community Edition (version 2022.3.1)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• 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

[✓] VS Code (version 1.80.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.68.0

[✓] Connected device (3 available)
• iPhone (mobile) • c47e109191018678403d909c023e5339306f711d • ios • iOS 16.1 20B82
• macOS (desktop) • macos • darwin-x64 • macOS 13.4 22F66 darwin-x64
• Chrome (web) • chrome • web-javascript • Google Chrome 114.0.5735.198 here.
```
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with FBFlutterViewContainer's viewDidAppear path and the PlatformView transition on iOS, focusing on the reported surfaceUpdated:YES event. Reproduce with Flutter Boost 4.1.0 and Flutter 3.7.6, then inspect the main-thread stall during the transition. Done means the hybrid navigation no longer locks the main thread in the reported scenario.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, ios
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.