随着移动互联网的飞速发展,大多数人已经习惯于使用手机获取各类信息。然而,信息量不断增加,各种低质量的重复信息正在严重影响用户体验。所谓信息流性能优化,就是用“大数据+人工”的方式来控制展示在用户面前的信息的数量和质量。

在本文中,新浪微博客户端Feed组技术专家张善录将为大家解读微博信息流优化方案。主要包括三个部分:流媒体服务、性能优化、性能监控。

流媒体服务

微博信息流承载着视频、直播、文章等多种服务,信息流与这些服务之间的耦合相当严重。这种关系不仅导致信息流维护成本的增加,也在一定程度上影响了业务端的发展。

为了解决上述问题,微博开发了一个流媒体服务框架,主要有两个目标:一是解决耦合问题,实现业务插件化,二是支持内部其他流媒体页面的快速开发微博。

是这个模型的关键对象。一方面负责管理View的状态,另一方面负责将View中的事件打包成一个。用于描述一个业务事件,它包括类型和数据,最终会交给一个处理,负责处理具体的业务逻辑。

因为View不处理具体的业务逻辑,所以具有很好的复用性。在不同的页面中,具体的业务逻辑往往是不同的,替换即可。

流服务不仅解决了耦合问题,也为性能优化打下了良好的基础。

性能优化

一条微博从上到下分为 16 个区域,包括标题、文本、视频、标签和底部按钮。其中,比较特殊的区域包括转发微博区和卡片区。转发微博区显示用户转发的微博,也可以从上到下分为16个区域;卡片区可以展示视频、直播、大图等。不同类型的微博卡片显示不同。目前,卡片区大概有30多种。

可以看出微博视图非常复杂,导致视图更深,开销更高。我们解决这些问题的思路是化繁为简,将微博按照上述划分的区域一一对应的视图进行拆分信息流优化,同时创建每个拆分视图。

拆分完成后,为了解决微博点击和背景的整体问题,我们定义了将点击事件、背景等信息放入其中进行处理的概念。

为了优化开销,微博在会议线程中对耗时的业务逻辑进行了预处理。

另外,对于一些创建成本高的视图,微博开发了预加载视图的机制。创建完成后,根据配置判断是否需要预加载相应的视图,这样就可以直接从中创建视图。获得。

性能监控

性能监控系统可以发现和定位性能问题,评估优化效果。微博性能监控主要包括CPU、内存、FPS、卡顿。

性能监控将贯穿微博发展过程中的每一个环节。在开发阶段,可以使用性能监控系统实时查看性能状态;代码升级阶段会有自动化性能测试,防止有问题的代码进入版本;内测阶段会有性能报告来评估新版本的性能问题;上线后信息流优化,可以帮助解决问题。用户的性能问题。

对于微博信息流优化实践,您认为有哪些值得学习和改进的地方?欢迎留言表达您的意见

本文属原创,转载请注明来自:赢销说 » 优化信息流麻烦吗?三种方法教你轻松搞定