alibaba / alibaba/flutter_boost

FBFlutterViewContainer放在UITabBarController中不能及时释放

Open
#1,622 1 comment 3 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.