alibaba / alibaba/flutter_boost
FBFlutterViewContainer放在UITabBarController中不能及时释放
- Dominant language
- Dart
- Stars
- 7.2k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Description
## Steps to Reproduce
**A small application to reproduce the bug(最小化可复现的demo)**
1. 将FBFlutterViewContainer1放入UITabBarController
2. setViewControllers将UITabBarController放navigationController中
3. 通过navigationController.setViewControllers设置新的FBFlutterViewContainer2
4.UITabBarController会释放,但是FBFlutterViewContainer1不会释放
5.只能手动notifyWillDealloc将FBFlutterViewContainer1释放
**Flutter Boost Version**
v3.0-null-safety-preview.16
**Target Platform:**
iOS
**Target OS version/browser:**
iOS15
**Devices:**
iPhone 13 Pro Max
## Logs
add your crash log or something else.
```
[✓] Flutter (Channel stable, 2.5.3, on macOS 12.2.1 21D62 darwin-x64, locale
zh-Hans-CN)
• Flutter version 2.5.3 at /Users/user/Documents/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 18116933e7 (6 months ago), 2021-10-15 10:46:35 -0700
• Engine revision d3ea636dc5
• Dart version 2.14.4
• 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 31.0.0)
• Android SDK at /Users/user/Library/Android/sdk
• Platform android-31, build-tools 31.0.0
• 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 at /Applications/Xcode.app/Contents/Developer
• Xcode 13.3, Build version 13E113
• CocoaPods version 1.11.2
[✓] 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)
[✓] VS Code (version 1.65.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.36.0
[✓] Connected device (3 available)
• iPhone (mobile) • 577ccf89c9195606ae9bde6085179a3cbad6b458 •
ios • iOS 15.3.1 19D52
• iPhone 13 Pro Max (mobile) • 526E7432-41A7-4646-8484-CB3DC50A8A44 •
ios • com.apple.CoreSimulator.SimRuntime.iOS-15-4 (simulator)
• Chrome (web) • chrome •
web-javascript • Google Chrome 99.0.4844.84
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the listed iOS navigation sequence with FBFlutterViewContainer, UITabBarController, and navigationController on iOS 15. Trace why FBFlutterViewContainer1 remains alive after the tab controller is released; done means it is released without manually calling notifyWillDealloc.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart, ios
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100