flutter_vlc_player在Android 13/14上静默崩溃(Signal Catcher日志)问题排查求助
flutter_vlc_player在Android 13/14上静默崩溃(Signal Catcher日志)问题排查求助
各位大佬好,我在Flutter项目里用flutter_vlc_player包做视频流播放,在部分设备上运行正常,但碰到Android 13/14这些新版本系统时,App会直接静默崩溃或者卡死。
崩溃前Logcat里只输出了这些内容,没有其他有用信息:
I/om.app.flexzone( 8491): Thread[2,tid=8509,WaitingInMainSignalCatcherLoop,Thread*=0x73b108a8cbe0,peer=0x2001300,"Signal Catcher"]: reacting to signal 3 I/om.app.flexzone( 8491): I/om.app.flexzone( 8491): Wrote stack traces to tombstoned
Dart层完全没抛出异常,Logcat里除了这段日志也找不到其他线索,我怀疑问题出在原生VLC的集成部分。
我已经尝试过的解决思路:
- 把
flutter_vlc_player升级到了最新版本 - 测试了不同的硬件加速模式(
HwAcc.full、HwAcc.disabled等) - 调整过各种宽高比设置
- 临时关闭了字幕、音频相关功能
- 用最新的compileSdkVersion(34)重新构建了App
- 在模拟器和实体设备上都做了重复测试
简化后的代码上下文:
@override void initState() { super.initState(); // 初始化VLC控制器 _vlcController = VlcPlayerController.network( currentLink!, autoPlay: widget.autoPlay, allowBackgroundPlayback: false, autoInitialize: true, hwAcc: HwAcc.disabled, options: VlcPlayerOptions( advanced: VlcAdvancedOptions([ VlcAdvancedOptions.networkCaching(500), VlcAdvancedOptions.clockSynchronization(0), VlcAdvancedOptions.clockJitter(0), ]), subtitle: VlcSubtitleOptions([ VlcSubtitleOptions.fontSize(24), VlcSubtitleOptions.color(VlcSubtitleColor.white), ]), audio: VlcAudioOptions([ VlcAudioOptions.audioTimeStretch(false), ]), ), ); } // dispose方法里已正确处理控制器的释放 @override void dispose() { _vlcController?.dispose(); super.dispose(); }
想请教大家的问题:
- 这段Signal Catcher日志到底是什么意思?该怎么针对性地调试这个问题?
- 有没有人碰到过
flutter_vlc_player在Android 13/14上的类似崩溃问题? - 会不会是原生VLC的Bug、App缺少某些权限,或者
AndroidManifest.xml的配置有问题? - 有没有已知的适配方案或者推荐的配置参数,能让它在新版本Android系统上稳定运行?
内容来源于stack exchange
相关产品推荐
相关产品推荐

