alibaba / alibaba/flutter_boost

FlutterBoostView跳转FlutterBoostActivity后回到FlutterBoostView界面,界面不再渲染

Open
#1,783 0 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

### 复现步骤
Demo上即可复现,如视频

从CountDemo回来后,滑动界面就不生效了(实际生效了,不过没渲染了)。

### 原因
跳转到FlutterBoostActivity后再finish,因为`Activity.onDestroy`的调用并不是立即的,导致FlutterBoostView的onResume等生命周期走完后,这时触发`FlutterBoostActivity.onDestroy`,导致再次`flutterView.detachFromFlutterEngine`,使得将Render绑定的surface重新置为了null:
![image](https://user-images.githubusercontent.com/9456005/212592433-64f161c9-92ff-47fb-b659-2b4762a41223.png)

FlutterActivity的onDestroy中的处理,对于FlutterBoost这种单引擎框架的影响,还是太大了。

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the issue in the Demo by navigating from FlutterBoostView to FlutterBoostActivity and back through CountDemo. Trace the onResume, finish, onDestroy, and detachFromFlutterEngine lifecycle sequence; done means the FlutterBoostView renders again and scrolling remains visible after returning.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, dart, flutter
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.