We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用AndroidNativeView进行视频渲染的界面,在从二级页回退回来时,出现渲染卡住的情况,刷屏报如下错误:
AndroidNativeView
ImageReader dequeueBuffer: BufferQueue has been abandoned
No response
Android
3.22.2
5.0.2
No
原因是Flutter 3.22.2版本开始,FlutterActivityAndFragmentDelegate.java文件的onStop方法中,新增了如下的代码
Flutter 3.22.2
FlutterActivityAndFragmentDelegate.java
onStop
新增的onTrimMemory会使得导致渲染NativeView用的PerImageReader调用close。 这个onStop是绑定FlutterActivity的onStop触发的,因此在FlutterBoost的场景下,一级页面中有AndroidNativeView时,从二级页面返回时,因为先触发一级页面的onResume,后触发二级页面的onStop,就导致后面的onStop把一级页面渲染用的PerImageReader给close了,所以出现了问题。
onTrimMemory
PerImageReader
close
FlutterBoost
onResume
临时解决方案:设置
FlutterRenderer.debugForceSurfaceProducerGlTextures = true;
这个会把NativeView的渲染从ImageReaderSurfaceProducer改回SurfaceTextureSurfaceProducer,相当于使用老版本的方案。
ImageReaderSurfaceProducer
SurfaceTextureSurfaceProducer
The text was updated successfully, but these errors were encountered:
No branches or pull requests
请描述遇到的问题,以及您所期望的正确的结果
使用
AndroidNativeView
进行视频渲染的界面,在从二级页回退回来时,出现渲染卡住的情况,刷屏报如下错误:请说明如何操作会遇到上述问题
No response
在下面填入关键复现代码
复现的平台
Android
Flutter SDK版本
3.22.2
FlutterBoost版本
5.0.2
是否延迟初始化FlutterBoost
No
解决方案
原因是
Flutter 3.22.2
版本开始,FlutterActivityAndFragmentDelegate.java
文件的onStop
方法中,新增了如下的代码新增的
onTrimMemory
会使得导致渲染NativeView用的PerImageReader
调用close
。这个
onStop
是绑定FlutterActivity的onStop
触发的,因此在FlutterBoost
的场景下,一级页面中有AndroidNativeView时,从二级页面返回时,因为先触发一级页面的onResume
,后触发二级页面的onStop
,就导致后面的onStop
把一级页面渲染用的PerImageReader
给close
了,所以出现了问题。临时解决方案:设置
这个会把NativeView的渲染从
ImageReaderSurfaceProducer
改回SurfaceTextureSurfaceProducer
,相当于使用老版本的方案。The text was updated successfully, but these errors were encountered: