Exoplayer 2.8.1打开文件太多(anon_inode:sync_fence)

时间:2018-06-07 13:52:56

标签: android exoplayer

我们正在使用Exoplayer同时在屏幕上呈现多个视频。当我们播放单个视频时,没有问题。一旦我们使用多个,ExoPlayer就会停止清理anon_inode:sync_fence的文件inode句柄,我认为这是针对Vsync的。

每个播放的视频至少会生成一个sync_fence inode文件,并且它们会在打开文件过多的情况下快速超载系统。

代码示例:

final PlayerView pv = getExoViewForZoneNum(zone_num);
SimpleExoPlayer pl = getSimplePlayerForZoneNum(zone_num);
pv.hideController();
pv.setControllerVisibilityListener(new PlaybackControlView.VisibilityListener() {
                    @Override
                    public void onVisibilityChange(int i) {
                        if(i == 0) {
                            pv.hideController();
                        }
                    }
                });

pl= ExoPlayerFactory.newSimpleInstance(
                        new DefaultRenderersFactory(context, null, DefaultRenderersFactory.EXTENSION_RENDERER_MODE_OFF),
                        new DefaultTrackSelector(),
                        new DefaultLoadControl());
                pv.setPlayer(pl);

            pv.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL);
            pl.addListener(new PlayerEventListener());
            pl.setPlayWhenReady(true);
MediaSource mediaSource = buildMediaSource(uri);
                pl.prepare(mediaSource, true, false);

我们的onDestroy确实在每个实例上执行.stop()和.release(),但问题仍然存在。

有什么建议吗?

0 个答案:

没有答案