腾讯科技讯(万学)北京时间2月9消息,据国外媒体报道,移动应用程序监测公司Crittercism的最新统计数据显示,苹果iOS应用程序崩溃的频率普遍高于Android应用程序;应用程序的表现不仅取决于操作系统,而且还取决于它所运行的设备。
图1 iOS和Android应用崩溃比例的分组对比结果(腾讯科技配图)
图2 12月1日至12月15日间各个系统版本出现应用崩溃的比例(腾讯科技配图)
iOS 5.01应用程序崩溃频率最高
曾想过为什么有些移动应用程序会频繁地崩溃吗?原因可能是多方面的。这取决于你使用的是苹果iOS设备,例如iPhone和iPad,还是Android设备。
应用程序崩溃的其中一个原因是iOS和Android移动操作系统的版本过多。由于苹果和谷歌已发布多个版本的操作系统,而且每个版本的操作系统均有多个更新程序,因此应用程序开发者需要在更多的操作系统上来测试他们的应用程序。移动应用程序监测公司Crittercism收集整理了12月1日至15日期间应用程序崩溃的统计数据,根据这些统计数据,至少有23款不同的iOS操作系统出现过应用程序崩溃的现象,至少有33款Android操作系统上曾发生应用程序崩溃现象(见图1)。
在iOS和Android平台上,应用程序崩溃频率最高的是iOS 5.01,占全部应用程序崩溃次数的28.64%。这个数据比较合理,因为在此次调查期间iOS 5仍然较新,许多应用程序还在适应它。但是,一些老版iOS也出现了较高频率的应用程序崩溃事故。例如,iOS 4.2.10应用程序崩溃次数占全部应用程序崩溃次数的12.64%,iOS 4.3.3应用程序崩溃次数占比为10.66%,而iOS 4.1应用程序崩溃次数占比为8.24%。这些数据也比较合理,因为有些人会花时间升级iPhone操作系统,有些人则从来就不升级。
图3 12月1日至12月15日间各个iOS系统版本出现应用崩溃的比例(腾讯科技配图)
应用程序崩溃的原因
这些统计数据提出了两个问题:为什么这些操作系统上的应用程序崩溃频率如此之高?为什么iOS应用程序崩溃的频率比Android应用程序高?对于第一个问题,Crittercism公司CEO安德鲁-利维(Andrew Levy)称原因是多方面的。它可能是硬件方面的问题,例如地理位置或GPS服务或摄像头的使用;也可能是因为互联网连接方面的原因,例如,手机是通过3G还是通过WiFi上网,某些时段手机是否与网络断开以及3G和WiFi转换时是否出现了某些问题。此外,它还有可能是某些设备上语言支持的问题,或者内存不足的问题。
当开发者在其应用程序中使用的第三方服务(包括从分析工具到广告工具)出现问题时,应用程序也可能会崩溃。例如,曾有报道称若开发者的应用程序不符合苹果iAds广告系统的某些标准,那么它就会出现问题。“应用程序崩溃可能是硬件方面的问题,也可能是软件方面的原因。”利维说。
此外,开发者还在不断地给他们的应用程序开发新的更新程序,以增加新的功能或者堵塞漏洞。但是,用户并不会经常性地升级他们的应用程序——就像他们不会升级其操作系统一样。(与iOS不同,Android允许用户自动升级其应用程序,这在一定程度上减少了应用程序崩溃的几率。)因此,开发者通常会在不同操作系统的每个版本上测试他们的各个版本的应用程序。尤其是对新操作系统,开发者必须测试其应用程序,确保它们能够在新操作系统中运行。
图4 12月1日至12月15日间各个Android系统版本出现应用崩溃的比例(腾讯科技配图)
iOS应用程序崩溃频率普遍高于Android应用程序
在Crittercism公司的统计数据中,苹果iOS操作系统应用程序崩溃的频率高于Android手机。在图2中,在应用程序崩溃总次数中,iOS应用程序崩溃次数占比为75%,Android占25%。这仅仅是因为Crittercism公司的应用程序监测网络中拥有更多的iOS手机吗?Crittercism公司通过一些数据回答了这个问题。
Crittercism公司分析了从2011年11月到12月期间发布的使用其服务的逾2.14亿款应用程序。其中iOS应用程序的数量是Android应用程序的3倍多,分别为1.62亿款和0.52亿款。但是,该公司分析的是每款应用程序的崩溃几率,因此,它统计出来的数据与iOS和Android应用程序孰多孰少毫无关系。换而言之,它考察的是每款iOS应用程序和每款Android应用程序崩溃的几率。
在第一个四分位数的应用程序中,Android应用程序崩溃的几率为0.15%,而iOS应用程序崩溃的几率为0.51%。在第二个四分位数的应用程序中,Android应用程序崩溃的几率为0.73%,而iOS应用程序崩溃的几率为1.47%。在第三个四分位数的应用程序中,Android应用程序崩溃的几率为2.97%,而iOS应用程序崩溃的几率为3.66%。
那么这些数据的含义是什么呢?从整体上来看,在这段时期内,iOS应用程序崩溃的频率高于Android应用程序。但是,Crittercism公司的利维警告称,这并不就意味着iOS崩溃的频率总是高于Android应用程序。因为苹果在2011年10月推出了新款iOS 5操作系统。而在此次研究期间,Android的新版操作系统“冰淇淋三明治”尚未全面登陆手机。
然而,这些数据表明,iOS应用程序崩溃的频率比Android应用程序高很多。笔者的iPhone手机上的某些应用程序就经常崩溃。随着Android“冰淇淋三明治”操作系统推出以及iOS 5进一步完善,这种情况是否会得到改观呢?我们将拭目以待。
应用程序等级越高崩溃频率越低
值得指出的是,在最佳应用程序,也就是第一个四分位数的应用程序中,应用程序崩溃的频率明显低于第三个四分位数的应用程序。利维强调称,这表明开发者通过分析数据和改善应用程序,能够减少应用程序崩溃的几率。
在第一个四分位数的应用程序中,Android应用程序的崩溃频率低于iOS应用程序,但是两者均远远低于1%。然而,在不同四分位数的应用程序中,这两个操作系统的差距并不相同。例如,最佳Android应用程序崩溃的频率仅为最佳iOS应用程序的三分之一;而在第二个四分位数的应用程序中,Android应用程序崩溃的频率约为iOS应用程序的二分之一;在其余的应用程序中,这两个操作系统的差距更小。
但是,必须指出的是,Android允许开发者比苹果更快地推出升级程序。由于Android开发者只需将升级程序添加到其源代码中,因此升级程序基本上能够实时完成。但是iOS升级程序则需要数日或一周才能够完成。这意味着,在较长的升级周期中,可能会有更多的iOS应用程序出现崩溃。就Android而言,如果开发者发现存在漏洞,他们就能够立即修复它。
图5 不同iOS设备出现应用崩溃的比例(腾讯科技配图)
设备不同应用程序的表现也不同
Crittercism公司的统计数据中还有一个有趣的现象:应用程序的表现不仅因操作系统不同而不同,而且因设备不同而相异。在Crittercism公司跟踪统计的iOS应用程序崩溃事件中,约有74.41%的iOS应用程序崩溃事件发生于iPhone,14.81%的iOS应用程序崩溃事件发生于iPod Touch,10.72%发生于iPad。
Crittercism公司得到了许多风投机构的支持,包括Google Ventures、Kleiner Perkins Caufield & Byers、AngelPad、AOL Ventures、Opus Capital和Shasta Ventures。该公司会定期向应用程序开发者提供应用程序崩溃报告。该公司向开发者提供了大量的统计数据,覆盖范围除了移动设备和操作系统外,还包括应用程序的载入速度和崩溃时间,以及应用程序崩溃时用户是横向还是纵向握着手机。它还能够帮助分析是应用程序自身的源代码,还是第三方服务SDK(软件开发工具包)导致了它的崩溃。这种统计数据对于开发者堵塞操作系统中的漏洞至关重要。Crittercism公司的客户包括Aston Martin Explore、Bullet Time和Hipster。
避免应用程序崩溃对于应用程序开发商至关重要,因为应用程序的运行是否顺畅关系到他们的生死存亡。而且,现在很多公司越来越依赖其应用程序来经营和管理其业务,而不管这种应用程序是否有大量的用户群。银行可以用移动应用程序查询账户余额,销售人员可以使用应用程序进行市场营销。“避免应用程序崩溃实际上是在保护你的品牌形象。”Crittercism公司联合创始人罗布-科维克(Rob Kwok)说,“现在越来越多的对企业非常重要的职能部门也开始使用应用程序了。”