直播间页面优化

编程入门 行业动态 更新时间:2024-10-22 02:50:46

直播间<a href=https://www.elefans.com/category/jswz/34/1771336.html style=页面优化"/>

直播间页面优化

文章目录

    • 优化前
    • 帧动画资源过大
    • 加载了不必要的webview
    • 按需加载语音业务模块
    • 优化后效果

You have to believe in yourself. That’s the secret of success. —卓别林

好久没有更新博客了,自己转作直播类应用已经一年多。接触了一些应用开发的框架技巧,不记录,久了就容易忘记,现在重新开始更新博客。

最近发现我们直播应用在进入直播间时,能感受到明显的卡顿。本篇博文记录优化该问题的过程。

优化前

systrace作为分析卡顿问题的利器,本篇记录的优化方法,正是借助它实现的,优化前的systrace如下图。

透过systrace 标1的地方可以看到启动直播间的观看页面耗时近乎1s钟,难怪用户会感受到卡顿。标2跟标3的地方都是耗时的大户,放大systrace文件分别进行排查。

帧动画资源过大


透过放大后的标2处,发现一个combo_anim.xml 资源文件竟然耗时60ms,打开该文件如下:

这个帧动画是为了播放直播间小礼物而存在的,由于是通过数十张图片组合而成的,难怪加载耗时那么久,在接着排查,发现了好几处类似的资源,这些都是需要优化的地方。礼物相关的资源文件在刚进入直播间是没有必要加载的,因此这里通过ViewStub控件让礼物相关的布局实现惰性加载。

加载了不必要的webview

在接着看标3的地方

这里WebViewChromium初始化占据了大部分时间,WebView是为了加载游戏直播房间内的网页游戏而生的,进入直播间加载也不需要,可以通过判断是否是游戏房间在决定是否初始化webview来进行优化。

按需加载语音业务模块

再继续看有一块audiolive相关的view也在进入房间时被初始化了。

通过判断是否是语言房间来决定是否加载该块view。

优化后效果

最后看下优化后的效果,从900ms优化到了300ms。

在优化的过程中,透过systrace文件还是比较容易发现卡顿的症结在哪,但在修改的过程中,要注意可能导致的风险。任何修改旧业务的代码都可能会导致新的问题,如果引起了新的问题,那优化工作就得不偿失了。

更多推荐

直播间页面优化

本文发布于:2024-03-08 22:02:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1722559.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:页面   直播间

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!