alibaba / alibaba/flutter_boost

connectSurfaceToRenderer() should only be called when flutterRenderer and getSurfaceTexture() are non-null. com.idlefish.flutterboost.containers.FlutterBoostActivity.C(FlutterBoostActivity.java:163)

Open
#1,621 9 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

当flutter端存在内存泄漏的时候,发现的这个问题。有监听器在页面dispose后调用了setState;

由于flutterboost中FlutterTextureHooker存在反射调用FlutterTextureView;而FlutterTextureView类被混淆而导致反射逻辑失败,导致FlutterTextureView类的attachToRenderer方法中connectSurfaceToRenderer被执行,而此时绘制层已经为空,所以报错:connectSurfaceToRenderer() should only be called when flutterRenderer and getSurfaceTexture() are non-null

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with FlutterBoostActivity.java at line 163 and trace FlutterTextureHooker’s reflective access to FlutterTextureView.attachToRenderer. Check the connectSurfaceToRenderer call and the reported null-state path; done means the call is not reached when flutterRenderer or getSurfaceTexture() is null and the reported exception no longer occurs.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, dart, java
Domain
mobile
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.