gpt4 book ai didi

android - 视频播放时调用显式 GC 导致帧丢失近 10% 以上

转载 作者:行者123 更新时间:2023-11-30 01:53:17 25 4
gpt4 key购买 nike

我正在运行一个视频播放,其中只有视频,没有任何音频内容。我们正在使用 OMXCodec 和 Awesomeplayer 组合进行播放。

我在 systrace 和日志文件中观察到的是,系统服务器进程代表媒体服务器进程的 postVideoEvent_l() 函数调用了一个非常长的 GC_explicit。这可以在我在下面附加的 systrace 中看到。此外,日志在帧丢失(取消缓冲区)之前有 GC_EXPLICIT 调用。这些 GC 调用持续大约 100-200 毫秒。

这些显式 GC 调用的任何特殊原因。

附件是 Systrace 的位置:https://www.dropbox.com/s/znxpgz9qhpjmc1e/mytrace5.html?dl=0

上面的一个示例实例可以从 9300 毫秒到 9450 毫秒看到。此持续时间之后是一系列取消缓冲区调用。

在上述时间间隔内,Logcat 也有以下消息:

D/dalvikvm( 2052): **GC_EXPLICIT** freed 31K, 11% free 6518K/7280K, paused **18ms+16ms, total 124ms**
E/AwesomePlayer( 813): we're late by 124714 us (0.12 secs) dropping one after 52 frames
E/AwesomePlayer( 813): getting release from here 22222
E/OMXCodec( 813): cancel Buffer to native window
E/OMXCodec( 813): [OMX.hantro.G1.video.decoder] **Calling cancelBuffer** on buffer 0xb6ff927c

非常感谢。

最佳答案

这基本上意味着您的内存变得非常低,并且 GC=Garbage 收集器被调用以清除尽可能多的内存,这样您的视频就不会崩溃。但是,垃圾收集器并不总是很快,而且您的内存消耗速度似乎比释放速度快。

有 2 种解决方案:更多内存,或更少内存消耗。

关于android - 视频播放时调用显式 GC 导致帧丢失近 10% 以上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32683157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com