iOS直播优化方案

作者: 宋唐不送糖 | 来源:发表于2018-08-01 16:22 被阅读26次

    看了许多直播优化的方案,写此文记录一下,涉及少分部服务端方案,不涉及具体代码。


    具体方案分为三个部分:

    1、直播大厅的优化。
    2、直播间内的优化。
    3、私信消息模块的优化。

    直播大厅的优化:

    直播列表的刷新

    问题:

    1、作为App的入口,其高可用性十分重要。
    2、用户点击进入直播间后,发现直播已经结束,体验不好。
    3、主播们的及时露脸、吸引粉丝的需求。

    方案

    1、多种刷新机制相结合

    • 全量刷新。
    • 顶部刷新,按滑动屏幕的偏移量。
    • 局部刷新,对直播流进行分组,只更新用户当前界面的直播流,便于服务端实施缓存策略。
    • 刷新的时间间隔可配置。

    2、用户体验方面

    • 用户当前正在滑动屏幕时,延迟刷新当前页面。

    进入直播间速度的优化

    常见现象:

    1、用户点击某个直播之后,进入直播间页面较慢。
    2、直播间内的视频迟迟加载不出。
    3、主播开播后反映人气一直上不去。

    原因分析:

    1、获取视频流时建立网络连接的耗时。
    2、直播间内业务模块众多,界面初始化耗时。

    方案

    • 在直播间大厅预先解析视频流地址,从而加快获取视频数据的速度。
    • 对房间内部分UI模块使用懒加载方式,如:公聊、用户列表等。
    B57D20E2-A3FB-4F5A-A689-612E60E8BA2E.png

    直播间内的优化:

    定时器事件调度

    8CD488F8-576B-4EA7-805C-EF412CBD619C.png

    房间内长连接消息的处理(公聊消息列表刷新)

    问题现象:

    热门直播间大量的公聊消息使得列表持续快速刷新,导致主线程CPU占用较高,影响整体页面交互。

    优化思路:

    • 将处理长链接消息的SocketIO库中的block执行线程设置为非主线程,缓解主线程的CPU占用。 EC21793A-D738-48F7-A2D1-EF45CFD549BB.png
    • 实时统计单位时间内收到的消息数目,在性能较低的机型上,动态调整公聊列表的刷新频率。
    • 使用队列暂存消息,每条公聊消息到来时不直接刷新列表。
    • 批量地pop队列中的消息,只保留最近收到的一些消息进行滚动刷新。

    动画流畅

    问题现象:

    大量的礼物动画如何进行流畅的展示。

    优化思路:

    • 动画进行队列分优先级排列,对于同个时间段内的动画根据优先级高的的优先显示,其余可延迟或者抛弃动画显示。

    主播端体验优化

    问题现象:

    主播直播了很久,好不容易上了热门,发生App崩溃如何处理。

    优化思路:

    • 开始直播时保存推流地址信息, App崩溃后,再次启动可以继续直播,恢复效果上相当于一次切后台的操作。

    问题现象:

    如何应对运营活动时的房间内消息压力,短时间内服务器广播消息压力非常大,公聊和礼物消息持续刷屏,主播直播严重受干扰。

    优化思路:

    • 服务降级,下发限制客户端公聊和礼物消息发送频率的命令。
    • 限制点赞和部分礼物的动画展示

    减轻服务端并发请求方面的优化

    问题现象:

    1、用户关注关系的拉取:每次进入直播间,都需要请求用户列表中的关注关系;主播结束直播时,用户都需要拉取和主播的关注关系。
    2、推送消息:明星用户开播全量推送时,大量客户端同时拉取大厅直播列表。

    优化思路:

    • 对用户profile、关注关系等信息进行缓存。
    • 收到直播推送时,不立即刷新直播列表,延迟到退出直播间后再启动大厅刷新机制。

    客户端首次启动方面的优化

    问题现象:

    用户安装App后首次启动,点击登录按钮出现卡顿。

    原因分析:

    需要下载大量的图片资源,网络请求和文件操作频繁。

    优化思路:

    • 对部分礼物和等级图标资源进行内置,增量下载更新。

    私信消息模块的优化:

    D807EDF8-66E8-4A2C-96BE-11E549AE879F.png

    问题现象:

    私信聊天页面的打开速度和消息浏览的体验。

    优化思路:

    • 内存中只缓存少量的几十条数据用于展示,滑动屏幕浏览时,动态更新缓存内容。

    相关文章

      网友评论

        本文标题:iOS直播优化方案

        本文链接:https://www.haomeiwen.com/subject/jfzlvftx.html