四大主流新闻App竞品分析

news/2025/1/12 1:48:02/

详细内容扫二维码查看!



四大主流新闻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时间较长。

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

(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这两个阶段的情况如下所示。

腾讯新闻

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

5.748523-5.715952 = 0.032571s

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

5.748523-5.661407 = 0.087116s

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

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

今日头条


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

6.917582-6.916125 = 0.001457s

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

6.917582-6.906432 = 0.01115s

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

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

搜狐新闻

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

8.109947-8.106257 = 0.00369s

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

8.109947-8.098789 = 0.011158s

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

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

网易新闻


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

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>对象,Item对象保存了新闻的所有信息。

搜狐新闻



今日头条


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

三、总结

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

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



http://www.ppmy.cn/news/220757.html

相关文章

mysql常用语句

* 数据库概念: * database - 数据库 * 一个数据库包含多张表 * table - 表 * 一个表包含多行多列 * row - 行 * 一行表示一条数据 * column - 列 * 一列表示一项数据* SQL语句 * 概述: * 是多种关系型数据库产品的通用内容 * SQL语句不区分大小写 * 建议所有关键字全部大写 * 分…

开维控制精灵 Ctrl js 华为手机群发短信

开维控制精灵 Ctrl.js 华为手机群发短信 Ctrl.js是基于js语法规则的控制类脚本语言&#xff0c;用于自动化软件测试。 Ctrl.js 需要在手机上下载“开维控制精灵”&#xff0c;应用宝&#xff0c;华为应用市场等平台都可以下载&#xff0c;帮助文档的话可以访问http://ikaiwei…

如何保证项目质量?层层卡点,一次把事情做对!

0 前言 工期太紧&#xff0c;能按期提测不错了&#xff0c;Bug多一点正常。质量好不好&#xff1f;不好说。如何提升&#xff1f;不知道&#xff0c;QA会保证呀。 我的粉丝里大部分程序员对自己代码质量要求还是很高的。可当遇到赶工压力&#xff0c;尤其Deadline前&#xff…

08 【生命周期 组件】

1. 生命周期 1.1 引出生命周期 生命周期 又名生命周期回调函数,生命周期函数、生命周期钩子是什么,Vue在关键时刻帮我们调用的一些特殊名称函数生命周期函数的名字不可更改,但函数的具体内容是根据程序员需求编写的生命周期函数中的this指向的是vm或组件实例对象 <div i…

昨天,小灰做了人生的第一次直播!

熟悉小灰的朋友们都知道&#xff0c;小灰是一个非常腼腆的人。虽然我比较擅长写东西&#xff0c;但完全不擅长口头表达&#xff0c;在公开场合讲话很容易紧张。 因此&#xff0c;对于网上直播&#xff0c;小灰在以前完全不敢想象。 但是&#xff0c;人终究需要成长的。就在昨天…

公司通讯录

部门 职务 姓名 负责事务 联系方式 主管 邓敏丽 西安HR总体事务协调 88825337 专员 汤倩茹 员工沟通、薪酬、异动、转正 88825527 专员 王海静 考勤、离职办理、指纹录入 88825347 专员 高子涵 社保、公积金、户口、档案、员工沟通 88825526 专员 牟尽劲 员工入职、员工档案管理…

通讯录。。

contact.h 类型定义 函数声明 contact.c 函数的实现 test.c 测试通讯录的模块

简易通讯录

简易通讯录 今天&#xff0c;我们来写一手通讯录。 首先我们既然要写一个通讯录&#xff0c;最起码这个通讯录能实现一些简易的功能。比如&#xff1a;增加联系人&#xff0c;删除联系人&#xff0c;查找联系人&#xff0c;修改联系人等等。其中也运用了一些简单的结构体知识…