2016年,在“互联网+”战略的推动下,移动互联网与越来越多传统行业的结合更加紧密,用户使用移动互联网的工作场景、生活场景、消费场景都在悄然发生着改变, 移动互联网产品在智能硬件、医疗、汽车、旅游、教育等市场也都在不断探索新的可能性。

开发者除了需要关注用户需求外,更需要重视产品质量与口碑,这将极大的影响用户对产品的评价及产品后续的传播力度。

下面我们将为您带来2016年度 Android & iOS 移动应用质量大数据报告,让您清晰了解行业动态,精准定位自身产品位置。

•  移动设备总数达10.7亿

2016年移动设备总数持续攀升, Android 设备总数从2015年的6.6亿提升至7.3亿, iOS设备总数从2015年的3.0亿提升至3.4亿。

•  iOS应用数突破220W

截至2017年2月,iOS 应用数量突破220万,Android 应用数量约300万+。

•  游戏崩溃率远高于应用崩溃率

无论是Android还是iOS,游戏的崩溃率都远高于应用,在iOS中的差异尤为明显。

接下来让我们从Android开始,从多个维度进行应用质量分析。

•  应用分类中视频、社交等行业崩溃率较高

Android应用行业整体崩溃率在2.0%~3.6%之间。其中视频、社交、音乐类应用的崩溃率较高,出行、新闻、儿童类应用的崩溃率较低。

•  游戏行业崩溃率普遍在4%以上

Android游戏行业崩溃率在4.3%~7.3%之间,八个游戏大类中,角色扮演、经营策略以及网络游戏的崩溃率均在7%以上,休闲益智、体育竞速崩溃率保持在5%以下。

•  中小规模产品崩溃率更高

根据产品规模日活(DAU)区间分析崩溃率,产品规模越大,崩溃率越低。DAU达百万级别的产品崩溃率平均在1.5%以下,对比各DAU区间崩溃率,游戏崩溃率均大于应用。

•  Android 应用平均ANR率在1%以下

出现ANR将弹出对话框,严重影响用户体验,所以发现应用ANR率上升情况也不容小觑。 游戏相比应用一般需要用到更多的资源,占用更多的内存和CPU,游戏 ANR发生几率约为应用的1.5倍。

•  华为市场占比第一,OPPO和VIVO跻身前五

华为2016年国内市场存量以17%的市场占有率荣获第一,OPPO,VIVO跻身前五。相比之下,小米和三星在2016年市场份额有所下降。五大厂商的市场存量占整个Android市场的66.20%,共同瓜分了庞大的国内市场。

机型崩溃率方面(统计机型上发生的崩溃),主流厂商基本保持在2%左右。而联想和酷派机型的崩溃率超过3%,根据数据分析其崩溃原因,我们发现,Java类型的崩溃中除空指针异常外,出现最多的是ActivityNotFoundException和ClassNotFoundException异常,兼容性问题较多;从崩溃时间来看,联想和酷派机型上闪退(崩溃发生在启动后0~5s)的占比高达28%(平均比例为22%),说明应用开发者对这两个厂商机型的适配力度相对较弱。

•  Android 系统版本5.1超过4.4成为主流

Android 5.1系统已成为主流版本,其中5.1、4.4、6.0、5.0版本的市场占有率分列前四,共占市场总量的83.39%,建议开发者优先关注这四个系统版本的适配情况。

另外5.1,6.0系统版本机型上的崩溃率在2%以下,而2.3系统版本崩溃率高达9.17%,大部分应用已放弃对2.3系统版本的适配,Google去年也宣布将在2017年正式结束对Android 2.3/3.0的系统支持。

•  空指针异常在Java代码中最为常见

不出所料,NullPointerException依然是最常见的Java异常,该异常影响面广但容易修复,开发者想快速降低崩溃率可以优先解决此类异常。相较于2015年,IllegalStateException从5%提升至10%,OutOfMemoryError从3%提升至6%。

•  SIGSEGV占Native崩溃类型的78%

从崩溃总数来看,Native崩溃数约为Java的1.4倍,而Natvie崩溃中高达78%为SIGSEGV异常(SIG 是信号名的通用前缀, SEGV 是 segmentation violation 的缩写,常见于内存错误)。

•  Android应用闪退现象更加严重

相较于2015年, 闪退(启动后0~5s内崩溃)问题占比提升10个百分点(12%提升到22%),Android系统由于其碎片化特征,厂商、机型、系统版本、分辨率等适配问题,使得应用闪退现象更加严重。

•  造成闪退最常见的几种异常原因

根据数据分析,导致闪退问题除空指针异常外,找不到类和方法、权限问题、so加载异常、状态异常等问题比较明显,71%的闪退是由这5种问题引起,机型适配测试可以有效降低闪退问题的发生。

了解完Android,我们再看看iOS平台上的应用质量有何差异

 •  iOS应用不同行业间崩溃率差距较大

iOS应用行业整体崩溃率在1.6%~4.6%之间,崩溃较低的行业如导航、商品指南类应用保持在2%以下,体育、社交、图书行业崩溃率在4%以上。

•  游戏行业崩溃率相对较高

iOS游戏崩溃率在4.2%~9.9%之间,其中体育竞技类游戏的崩溃率最高。

•  不同日活(DAU)区间游戏产品的崩溃率差距较大

不同DAU区间游戏产品的崩溃率分化更加严重, DAU低于1千的游戏,平均崩溃率高达9%。DAU达百万级的游戏产品基本属于精品游戏阵营,这个区间内的游戏崩溃率得到了有效控制。

•  游戏卡顿发生概率高

游戏的卡顿发生率高达到19.9%,苹果官方并没有提供iOS卡顿的具体定义,Bugly官方定义的iOS卡顿默认为:3s无响应,卡顿问题会影响用户体验产品的流畅性,同样需要重视。

•  主流机型崩溃率基本在2%以下

iPhone 6占比为21.81%,与2015相比差距不大(2015年占比:21.44%),iPhone
6系列机型仍然是市场主流机型,iPhone 7系列暂时只占总量的7.81%。
iOS主流机型的崩溃率基本保持在2%以下,新机型崩溃率相对更低。iPhone系列机型中,iPhone 4与iPhone
5的崩溃率最高,在3%以上。

•  NSInvalidArgument异常占OC异常的75%

对比2015年的占比,NSInvalidArgument异常从49%提升至75%,NSRangeException从19%下降至6%。

•  运行中的崩溃问题大幅缩减

相较2015年数据,运行中的崩溃(运行60s以上闪退)问题占比,从78%下降至65%,缩减了13个百分点。

2016 移动应用质量大数据报告--转自腾讯Bugly的更多相关文章

  1. 【重磅推荐】腾讯Bugly2015年移动应用质量大数据报告

    2015年,随着移动智能设备的普及,移动端用户的增速明显放缓:相比之下,由于云服务.众筹平台.推广平台等基础设施和服务的不断改善,极大降低了创业的门槛,越来越多人投身于移动应用的创新创业中. 想让用户 ...

  2. 腾讯Bugly2015年移动应用质量大数据报告 原 荐

    在这份报告中,腾讯Bugly和腾讯优测会对2015年Android和iOS平台上的应用质量进行详细盘点,帮助你了解你的产品质量在行业中处于什么位置. 首先,让我们从整体上,回顾一下2015年度的应用和 ...

  3. 了解大数据的特点、来源与数据呈现方式以及用Python写Mad Libs游戏

    作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2620. 1.浏览2019春节各种大数据分析报告,例如: 这世间,再 ...

  4. 程序媛数据报告:近三年增长至70%,平均月薪1.54W,女性程序媛并不是特殊物种

  5. 持续引领大数据行业发展,腾讯云发布全链路数据开发平台WeData

    9月11日,在腾讯全球数字生态大会大数据专场上,腾讯云大数据产品副总经理雷小平重磅发布了全链路数据开发平台WeData,同时发布和升级了流计算服务.云数据仓库.ES.企业画像等6款核心产品,进一步优化 ...

  6. Top100Summit全球案例研究峰会第一天总结——云计算和大数据

    很荣幸受邀参加Top100Summit全球软件案例研究峰会,这次的大会主题是<技术推动商业变革>,组委会从全国投稿的460多件案例中甄选出100件具有代表价值的案例,进行为期4天的分享,第 ...

  7. 大数据计算新贵Spark在腾讯雅虎优酷成功应用解析

    http://www.csdn.net/article/2014-06-05/2820089 摘要:MapReduce在实时查询和迭代计算上仍有较大的不足,目前,Spark由于其可伸缩.基于内存计算等 ...

  8. 大数据技术人年度盛事! BDTC 2016将于12月8-10日在京举行

    2016年12月8日-10日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所和CSDN共同协办的2016中国大数据技术大会(Big Data Technology ...

  9. 张小龙在2017微信公开课PRO版讲了什么(附演讲实录和2016微信数据报告)

    今天2017微信公开课PRO版在广州亚运城综合体育馆举行,这次2017微信公开课大会以“下一站”为主题,而此次的微信公开课的看点大家可能就集中在腾讯公司高级副总裁.微信之父——张小龙的演讲上了!今天中 ...

随机推荐

  1. for-in循环(for-in Loops)

    for-in循环应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”. 从技术上将,你可以使用for-in循环数组(因为JavaScript中数组也是对象),但这是不推荐的.因为如果数 ...

  2. IO知识点整理(文件File类的使用)

    一: 1.API 2.构造函数的程序 注意这集中构造函数的特点. 同时,字段separator的使用. import java.io.File; public class Test101 { publ ...

  3. R语言编程艺术(4)R对数据、文件、字符串以及图形的处理

    本文对应<R语言编程艺术> 第8章:数学运算与模拟: 第10章:输入与输出: 第11章:字符串操作: 第12章:绘图 =================================== ...

  4. [USACO16JAN]子共七Subsequences Summing to Sevens

    [USACO16JAN]子共七Subsequences Summing to Sevensa[i]表示前缀和如果a[i]%7==t&&a[j]%7==t那么a[j]-a[i-1]一定是 ...

  5. ssh端口转发(之kettle ssh方式连接数据库)

    ssh参数解释 格式 ssh  [user@]host [command] 选项: -1:强制使用ssh协议版本1: -2:强制使用ssh协议版本2: -4:强制使用IPv4地址: -6:强制使用IP ...

  6. CSS3利用背景渐变和background-size配合完成渐变与条纹效果[持续更新中...]

    1.不等垂直条纹. <!-- 不等垂直条纹 --> <div class="div1"></div>div1 div{ width: 200px ...

  7. Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) C. Ray Tracing 数学

    C. Ray Tracing 题目连接: http://codeforces.com/contest/724/problem/C Description oThere are k sensors lo ...

  8. SNMP代理软件开发

    SNMP代理模块包括6个子模块: SNMP协议主要有五种报文get.get-next.set.get-response,trap.l.get-request操作:从代理进程处提取一个或多个参数值2.g ...

  9. NXP LPC18xx LPC43xx OTP ID Boot

    static LPC_DEVICE_TYPE LPCtypes[] = { { , , , , , , , , , CHIP_VARIANT_NONE }, /* unknown */ // id, ...

  10. E3-1260L (8M Cache, 2.40 GHz) E3-1265L v2 (8M Cache, 2.50 GHz)

    http://ark.intel.com/compare/52275,65728         Product Name Intel® Xeon® Processor E3-1260L (8M Ca ...