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)
- 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