You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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();
}

想请教大家的问题:

  1. 这段Signal Catcher日志到底是什么意思?该怎么针对性地调试这个问题?
  2. 有没有人碰到过flutter_vlc_player在Android 13/14上的类似崩溃问题?
  3. 会不会是原生VLC的Bug、App缺少某些权限,或者AndroidManifest.xml的配置有问题?
  4. 有没有已知的适配方案或者推荐的配置参数,能让它在新版本Android系统上稳定运行?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 09:04:38