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. 6. 缓存 - 《APS.NET本质论》

    CaChe是ASP.NET中唯一可以根据服务器使用情况,动态管理内存使用的状态管理方案.我们通过每个缓存数据的键值字符串来区分缓存的数据. 简单案例来说.将数据从数据库/文件取出放在服务器内存中,后来 ...

  2. 深度剖析:PHP中json_encode与json_decode

    一.json_encode() 对变量进行JSON编码, 语法: json_encode ( $value [, $options = 0 ] ) 注意:1.$value为要编码的值,且该函数只对UT ...

  3. 利用 Vmware 安装 Linux 虚拟机

    之前写过一篇利用MS系的 Hyper-v 安装 Ubuntu 的教程,这里给出使用 Vmware 安装 Linux 的教程.(ps:Hyper-v 的体验感不太好,而且不够大众化) 1.准备工作 1. ...

  4. Docker 图形化页面管理工具使用

    一.Docker图形化工具 docker 图形页面管理工具常用的有三种,DockerUI ,Portainer ,Shipyard .DockerUI 是 Portainer 的前身,这三个工具通过d ...

  5. WebApi 接口参数详解

    WebApi 接口参数不再困惑:传参详解   阅读目录 一.get请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.“怪异”的get请求 二.post请求 1.基础类型参数 2.实体作为 ...

  6. js单元测试框架

    js单元测试框架 前端测试框架对比(js单元测试框架对比) 本文主要目的在于横评业界主流的几款前端框架,顺带说下相关的一些内容. 测试分类 通常应用会有 单元测试(Unit tests) 和 功能测试 ...

  7. JS中的的"闭包"?深入Javascript之this

    看了知乎上的话题 如何才能通俗易懂的解释javascript里面的‘闭包’?,受到一些启发,因此结合实例将回答中几个精要的答案做一个简单的分析以便加深理解. 1. "闭包就是跨作用域访问变量 ...

  8. 迷茫于Hibernate/JPA的人提一些建议。

    想对那些“迷惑”于Java ORM框架的J2EE开发人员提一些建议,希望能够对他们 更深入的理解和运用J2EE ORM框架来提速工作有所帮助,这些建议可能显得有些”陈旧“和”肤浅“, 因为最近半年我没 ...

  9. Codeforces Round #378 (Div. 2) F - Drivers Dissatisfaction

    F - Drivers Dissatisfaction 题目大意:给你n个点,m条边,每个边都有一个权重w,每条边也有一个c表示,消耗c元可以把这条边的权重减1,求最多消耗s元的最小生成树. 思路:因 ...

  10. java中Optional和Stream流的部分操作

    package test9; import java.util.DoubleSummaryStatistics; import java.util.Optional; import java.util ...