A-A+

APP存在的五大性能问题及解决办法

2015年07月20日 移动

移动互联网的繁荣,催生了移动应用业务。在过去一年的时间里,有超过60万款APP上线,换句话说,每天超过800款的APP面世。

在如此激烈的竞争中,许多APP昙花一现,但也有许多APP脱颖而出。除了创意和功能,性能成为了一款APP能否存活的命门。

虽然移动应用性能问题的发生多种多样,但是通过崩溃率、错误率、网络请求响应时间、交互性能、运营商网络响应时间五个方面就可以衡量一款APP的应用性能。

本文中所有数据均来自听云发布的《2014中国移动应用性能白皮书》

1.移动应用崩溃:

应用在运行过程中出现的强制关闭(Force Closing)现象,从而打断用户正在进行的操作体验。

这也是对于用户体验影响最大的一个方面,除了会使关键业务中断,ARPU降低之,外用户留存下降,DAU与MAU持续下降。从而降低品牌口碑使CPA(每用户获取成本)提高,进而影响生命周期价值(Life-cycle Value)。

经过调查研究发现当iOS的崩溃率超过8‰,Android的崩溃率超过4‰的时候活跃用户有明显下降态势。

从表中不难看出,2014年是移动互联网发展最迅速的一年,可能是由于对速度的追求,无论iOS又或是Android,平均崩溃率均超出标准值,普遍存在轻微隐患。

iOS操作系统崩溃分布:iOS 5.0.1、iOS 5.1.1、iOS8.0.1、iOS 8.1.2、iOS8.1.3为崩溃发生最高的操作系统,其中iOS 7x整体崩溃表现稳定,对最新操作系统版本的支持与旧版本的持续兼容是移动开发者必须重视的。

Android操作系统崩溃分布:Android 2.x表现较差,Android 4.x版本后,崩溃率稳定在2‰-4‰,表现良好。

iOS崩溃机型分布

Android崩溃机型TOP20

然而如何在崩溃时进行修复?专家认为崩溃发生时,一份崩溃报告会在崩溃设备上创建并被存储,崩溃报告描述应用程序是在何种条件下崩溃的,大部分情况下包含一份当前正在运行线程的完整堆栈跟踪,通过堆栈信息可推测出崩溃发生的原因从而进行修正。

2.移动应用错误

顾名思义,应用在生产环境下所出现的HTTP错误(HTTP状态码①)和网络错误汇总,会造成应用页面无法显示,影响用户体验。如同崩溃一样,在错误发生时APP的关键业务会中断,影响用户体验,从而影响APP赢收。

2014年移动应用错误分布

可见错误代码为500的内部服务器错我成为了APP错误中最严重的问题,这种错误导致服务器无法提供服务,那么用户就会处于一种真空的状态,对已一款APP来说,这无疑是可怕的。

3.移动应用请求响应时间

应用发出一个HTTP请求到主机,主机端返回响应所用的时间。如果响应时间过长,那么终端用户体验缓慢,用户体验下降,降低用户留存率。

经过研究发现当请求响应时间超过2000ms后,用户开始流失!

4..移动应用交互性能

用户与移动应用的界面元素和内容交互的体验耗时被称为交互性能时间,应用的页面元素加载时间过长所引起的用户体验下降被称为慢交互。当移动应用交互性能出现问题时,会导致页面元素加载缓慢造成应用卡顿和页面元素不完整造成布局错乱。

当出现这种问题时,我们应该注意页面加载分为前端UI线程和后台工作线程,通过每个线程调用的方法用时来判断发生慢交互的瓶颈。

5.运营商网络响应时间

可以看出在不同的地区响应时间有所差异,所以笔者认为针对不同地区的差异在APP的开发上可以做一些针对性的调整。就像Facebook在非洲一样,对图片格式、功能的优化。

结语:

Google曾发表过这样一组数据,2014年,全球开发者总数达71.5万,全球移动应用达306.3万,同比2013年App增长了45.8%。然而 这300多万的App能否可持续发展却不得而知,随着移动应用的迭代加快,大多数App都会发展遇阻甚至会死在前进的路上。2015年初,一款曾传遍朋友 圈的App“足迹”以其电影风格的截图、字幕、边距和滤镜的处理方式,能够把一张普普通通的照片修成电影大片的感觉,被称为“中国的 Instagram”。然而,虽然它杀出重围红遍大江南北,但也由于服务端性能问题,不得不关闭或降级了App部分非核心功能,甚至差点死掉。

随着APP竞争的越来越白热化,性能问题越发的成为APP开发者们不可回避的痛点。如果拥有好的创意,杀手级的功能,却死于性能,对于一个APP团队或者公司来说是最不可接受的。