分享

四大主流新闻App竞品分析

 玉稻筱麦坊米 2018-08-27

四大主流新闻App竞品分析


1、概述

(1)市场概况

产品用户体量:2016年Q2移动资讯分发市场用户规模达到5.8亿人,基本完成用户普及,用户增长趋势明显放缓。在活跃用户渗透率方面,腾讯新闻稳居第一,渗透率达56.4%;今日头条则以42.5%的活跃用户渗透率排在第二;网易新闻和搜狐新闻分别以30.7%、27.2%位列第四、第五。

移动资讯分发市场用户男性占比53.9%,明显多于女性;用户趋于年轻化。

腾讯新闻日活跃用户数位列第一,达到6579.7万人,今日头条、网易新闻、搜狐新闻分别以3871.1、2445.1,2281.8万人位列第三、四、五。

今日头条单日使用时长为8.6分钟位列第二,腾讯新闻、搜狐新闻、网易新闻分别位列第三、四、五。

腾讯新闻用户人均日启动次数为5.5次,今日头条、网易新闻、搜狐新闻分别位列第是三、四、五。

注:市场概况部分均来源于比达数据咨询中心《2016年第二季度中国移动资讯分发平台市场研究报告》。


(2)竞品确定

截至2016年10月28日,四大主流新闻APP在几大应用市场的下载情况:

在各大应用市场中,腾讯新闻和今日头条下载量较高,评分较高,搜狐新闻和网易新闻次之。

(3)体验环境

软件版本:腾讯新闻V5.1.19;今日头条V5.8.4;搜狐新闻V5.7.2;网易新闻V16.0

设备型号:360手机N4S 1505-A01和红米手机 HM NOTE 1LTE

操作系统:Android 6.0和Android 4.4.4 KTU84P

这四个主流新闻APP中,腾讯新闻、搜狐新闻和网易新闻完成了自身门户实力的转化,今日头条则是依托大数据技术实现个性化资讯分发的典型。那么它们的使用体验到底如何?下面我将从启动速度、界面布局、网络请求时间、ListView加载等多个方面进行对比分析。

2.对比分析

(1)启动速度

在有WIFI、没有预先加载且都不登录账号的情况下,启动有开屏广告的闪屏。四款新闻APP从启动到刷出首屏的速度依次为:网易新闻>腾讯新闻>搜狐新闻>今日头条,广告时间均在4s左右,今日头条首屏展示公司slogan时间较长。

客户端

冷启动

频道切换

安装包大小

腾讯新闻

7.270s

无明显延迟

26.2MB

今日头条

9.462s

有明显延迟

21.91MB

搜狐新闻

7.550s

有明显延迟

40.72MB

网易新闻

5.998s

轻微延迟

22.75MB

此外通过多次无预先加载的频道切换体验,腾讯新闻无明显延迟,搜狐新闻和今日头条出现延迟的次数较多。

(2)界面布局

为了适应人们已经惯用的App点、滑操作,新闻App的整体界面布局也逐渐趋同。打开四款新闻App,可以看到,在界面的上端都是可滑动切换/点击进入的频道入口,包含热点、推荐、娱乐、体育等等分类,可自由选择展示,各家差异不大。

此外,通过工具uiautomatorviewer查看Layout布局结构,结合反编译,分析具体的Layout布局文件,可以知道在Layout布局方面,各家的实现差异也不大。四款新闻APP主界面及其Layout布局如图所示。

腾讯新闻主界面及其Layout布局:


今日头条主界面及其Layout布局: 


搜狐新闻主界面及其Layout布局:

网易新闻主界面及其Layout布局:

通过以上四组对比可以知道,这四款新闻APP主要通过HorizontalScrollView、ViewPager、Fragment、ListView来实现。

底部则是固定的功能模块,今日头条和搜狐新闻一致,都包括了“首页”、“视频”、“我”以及已关注的自媒体入口,分别叫“狐友”、“关注”。网易新闻的底部多了个“话题”入口,在左上角添加了新闻直播入口,腾讯新闻则把“直播”入口放在了底部,“视频”作为频道之一放在顶部。这一块的布局,网易新闻和今日头条采用TabWidget实现,而腾讯新闻和搜狐新闻是LinearLayout布局。

在整体的设计风格上,腾讯新闻、搜狐新闻和网易新闻仍然保持了门户网站风格,尤其网易的每个频道第一条新闻都是幻灯片。因此在APP冷启动时,ListView的顶部视图都是通过RelativeLayout加ViewPager加载的。

综上,这四款新闻APP在Layout布局上,实现的差异性不大。对于用户的操作、新闻的加载在性能上差别不大。

(3)网络请求时间

在相同的网络状况下,利用tcpdump和WireShark抓取这四款新闻APP请求新闻的数据包,然后对它们进行分析。网络请求的第一个阶段是“三次握手”,第二阶段是发送GET请求并接受返回数据。这四款新闻APP这两个阶段的情况如下所示。

腾讯新闻

三次握手

获取数据(HTTP)

服务器向客户端发送数据的耗时:

5.748523-5.715952 = 0.032571s

三次握手成功到客户端成功收到数据的时间是:

5.748523-5.661407 = 0.087116s

那么我们可以算出来服务器的响应时间是:

0.087116-0.032571(数据回传)-0.017412(三次握手)=0.037133s。

今日头条

三次握手

获取数据(TLSV1)

服务器向客户端发送数据的耗时:

6.917582-6.916125 = 0.001457s

三次握手成功到客户端成功收到数据的时间是:

6.917582-6.906432 = 0.01115s

那么我们可以算出来服务器的响应时间是:

0.01115-0.001457(数据回传)-0.001714(三次握手)=0.006355s。

搜狐新闻

三次握手

获取数据(TLSV1)

服务器向客户端发送数据的耗时:

8.109947-8.106257 = 0.00369s

三次握手成功到客户端成功收到数据的时间是:

8.109947-8.098789 = 0.011158s

那么我们可以算出来服务器的响应时间是:

0.011158-0.00369(数据回传)-0.001888(三次握手)=0.00558s

网易新闻

三次握手

获取数据(TLSV1)

服务器向客户端发送数据的耗时:

11.683372-11.682182 = 0.00119s

三次握手成功到客户端成功收到数据的时间是:

11.683372-11.609436 = 0.073936s

那么我们可以算出来服务器的响应时间是:

0.073936-0.00119(数据回传)-0.034042(三次握手)=0.038704s

从上述四个新闻APP的网络请求过程,可以看出,无论是网络还是服务器,都是相当快。这四个APP的服务器响应快慢为:搜狐新闻>今日头条>腾讯新闻>网易新闻,客户端与服务器三次握手成功到客户端成功收到数据的快慢为:今日头条>搜狐新闻>网易新闻>腾讯新闻。当然这可能和服务器部署的地理位置有关,在此处不做讨论。

此外,在刷新新闻时,这四款APP更新的数据大小不同也不同程度的影响各自的数据返回时间。腾讯新闻和网易新闻每次刷新更新10条内容,今日头条每次刷新更新8条内容,搜狐新闻则是6条内容。这也正好从侧面反应了客户端与服务器三次握手成功到客户端成功收到数据的时间快慢。

在网络请求时,今日头条、搜狐新闻、网易新闻采用的TLSV1协议进行请求,而腾讯新闻采用的是HTTP协议进行请求。因此,今日头条、搜狐新闻、网易新闻传输的数据都进行了加密,而腾讯新闻的数据能够直接抓取。

(4)ListView加载

这四个新闻App通过上拉和下滑来刷新加载数据。在加载过程中在ListView顶部和底部都会有动态动画来表示加载过程。在相同网络环境(WIFI)下,四款APP的加载效果都非常快,其中腾讯新闻在动画效果加载过程中,同时用“又发现10条内容”的文字提示覆盖上去,整个过程的衔接,让人没有等待的感觉;而今日头条有动态的旋转效果,让人有等待的时间。

Listview加载的核心是其adapter,ListView的性能优化可以通过减少adapter中创建、处理View的次数来提高Listview加载的性能。因此,通过反编译查看这四个新闻APP通过ListView加载新闻的代码,分析Listview加载的性能。

我们知道Listview在开始绘制之前,首先要调用getCount这个函数,这个函数返回了我们要在这个Listview上面显示多少个item,有了这个数据我们才能够继续绘制Listview。然后根据这个长度开始调用getView函数进行绘制Listview中的每一行。ListView中的每一个Item显示都需要Adapter调用一次getView的方法,这个方法会传入一个convertView的参数,返回的View就是这个Item显示的View。因此,getView函数是重中之重。我们可以通过分析getView函数来分析Listview加载新闻的性能。

利用APK IDE分别反编译这四个新闻APP的APK,然后搜索getView函数。    

腾讯新闻

反编译后,在腾讯新闻Smali代码的RecommendDataListViewAdapter类中可以找到getView函数,根据其类名可以知道该类是底部“推荐”Tab页中ListView的adapter。因此,我们可以查看RecommendDataListViewAdapter中的getView函数,具体代码如下:

在代码中会执行父类的getView,我们先查看父类的getView。

代码中jdField_a_of_type_JavaUtilList是一个List对象,Item对象保存了新闻的所有信息。

搜狐新闻

今日头条

可以看到,这四个新闻App在实现Listview加载Item新闻时,都对getView函数进行了覆写,对ListView进行了优化。腾讯新闻、今日头条、搜狐新闻采用paramView重用、ViewHolder重用以及实现局部刷新等方法来优化Listview的性能。

三、总结

综上,可以看出,四家新闻APP在新闻加载的体验上都做了不少的工作,使得新闻加载的流畅度和速度上都呈现出不错的性能,各家相差都不大。

有统计指出,目前日使用时长累计超过一个小时的重度用户呈现急速上升的势头。对于资讯市场,一方面,腾讯新闻、网易新闻、搜狐新闻拥有很强的专业内容生产能力,能满足用户对于专业资讯、主流价值的需求,另一方面,在越来越强调个性化定制的今天,基于信息流大数据推荐模式的今日头条也逐渐抢占了市场的高位。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多