alibaba / alibaba/flutter_boost
(FlutterBoost3,版本号v3.0-null-safety-release.1),在页面A中通过打开新容器的方式打开页面B之后关闭容器B,关闭页面过程中会再闪烁一次
- Dominant language
- Dart
- Stars
- 7.2k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Description
问题现象描述:FlutterBoost3(版本号v3.0-null-safety-release.1),在页面A中通过打开新容器的方式BoostNavigator.instance
.push(url, arguments: params, withContainer: true)打开页面B之后,通过BoostNavigator.instance.pop(result)或者物理返回键关闭页面B,页面B在关闭过程中会概率性再闪烁一次。
(一)复现问题的demo:v3.0-null-safety-release.1的example就可以概率性复现问题。
(二)复现步骤如下:
1.通过sample首页点击“open flutter page”进入flutter页面;
2.在页面顶部withContainer开发打开的情况下,(页面显示"withContainer:true")点击"image_picker demo"按钮打开新容器;
3.点击返回按钮。
说明: 我们遇到问题的过程中尝试使用最简单的页面,如只有颜色方块的UI,问题也可以复现,且在容器设置无动画的情况下问题更容易出现。
(三)复现问题过程中设备和相关版本信息:
Flutter Boost Version:v3.0-null-safety-release.1
Target Platform: Android
Target OS version/browser:
Huawei Honor 7x(BDN-AL10), Android9,EMUI9.1.0
Huawei mate20(HMA-AL00),HarmonyOS 2.0.0
(四)flutter doctor -v信息
[✓] Flutter (Channel stable, 2.0.6, on Mac OS X 10.15.6 19G73 darwin-x64, locale zh-Hans-CN)
• Flutter version 2.0.6 at /Users/xxx/flutter_2.0.6/flutter
• Framework revision 1d9032c7e1 (12 months ago), 2021-04-29 17:37:58 -0700
• Engine revision 05e680e202
• 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.2)
• Android SDK at /Users/xxx/Library/Android/sdk
• Platform android-31, build-tools 30.0.2
• ANDROID_HOME = /Users/xxx/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
• All Android licenses accepted.
[!] Xcode - develop for iOS and macOS
✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
Download at: https://developer.apple.com/xcode/download/
Or install Xcode via the App Store.
Once installed, run:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch
• CocoaPods version 1.10.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.2)
• 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.8+10-b944.6916264)
[✓] Connected device (1 available)
• Chrome (web) • chrome • web-javascript • Google Chrome 100.0.4896.88
! Doctor found issues in 1 category.
Contributor guide
No contributing guide indexed for this repository
Research direction
Run the v3.0-null-safety-release.1 example and reproduce the issue through the “image_picker demo” flow. Trace the Android container close path reached by BoostNavigator.instance.pop(result) and the physical back button, then verify that closing page B no longer causes a visible flash.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart, flutter
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100