文档章节

移动APP性能——如何保证高质量

糖糖豆豆
 糖糖豆豆
发布于 2014/10/11 11:17
字数 1871
阅读 175
收藏 10

Klaus Enzenhofer在Web性能优化和用户体验管理方面有多年经验及专业知识。他在dynaTrace软件公司的卓越团队中心担任技术战略专家。身居这一职位,他推进了dynaTrace APP性能管理解决方案和Web性能优化工具——dynaTrace AJAX 版的开发。他通过在Tiscover有限公司开发和运行大规模的门户网站,积累了大量web和性能方面的经验。

?

  加速之必要
   不考虑技术,有一件事是肯定的——人们似乎总是希望可以更快。根据各种各样的研究,现在用户只愿意等待一个web应用程序加载三秒或更短的时间,超过的话,他们就会变得越来越不耐烦或者干脆换一个应用程序。这些高期待不断被压到移动web之上;现在还压到移动App上。就像Web,现今的移动移动app都有它们自己的性能问题并需要做出一些微调。最新研究表明,过去,在手机上获取app时,47%的移动用户主要是抱怨速度慢且反应迟钝。App在苹果的app商店上被谴责 “慢得可怕”。对于Facebook的 iPhone 应用程序,38,000条评论中有超过21,000的用户只给app一星的评价。用户多数表示app慢,死机,“一直在加载”。
   “移动app根据它们在app商店的排名而生存或死亡……排名不佳,用户采用率就降低” 佛里斯特研究公司的Margo Visitacion这么说道。这或许就是为什么80%的品牌iPhone,Android和Blackberry应用程序无法达到1,000的下载量的原因。拙劣的移动app性能直接影响用户获取和用户维系。那么该做些什么以保证你的移动app性能尽可能的强大呢?

  通过捕捉现实中移动app性能“获得真实信息”
   移动app性能首先,最重要的是:为了真正理解移动app性能,你必须衡量你的真正用户正在体验的性能。在数据中心的模拟机上进行测试可以有所帮助但是它基本和你的真实终端用户的真正体验无关。你的数据中心和你的终端用户间有许多影响性能的变量因素,包括云,第三方服务/集成,CDNs,移动浏览器和设备。衡量真实用户是在巨大的复杂物上精准评估性能并确定一个性能提升的基准线的唯一方法。衡量你的真实用户体验的性能可以让你就移动app(关键参数方面的,如你客户使用的所有的地域,设备和网络)性能做出报告。
   现在,移动app测试和使用SDKs监控以提交本地app可以让你快速轻松地鸟瞰你所有客户的移动app性能。 
   负载测试从终端用户角度看也很重要,尤其是在开始一个app前,综合测试网络可以让你在不同的条件下评估性能水平。

  理解拙劣性能的商业影响
   确定移动app性能问题以及它们对转化的影响很重要:比如,你会注意到移动app的响应时间增加与转化的减少息息相关。这样你就可以进行分类,基于一些考虑(如:我的哪些客户,多少客户受到影响了)按轻重缓急解决问题。如果一个地区的流量份额很高但有问题,而另一个地区的份额较少,那你就知道该优先解决哪个性能问题了。

  确保第三方集成有效
   就像web应用程序,许多移动app为了给终端用户提供更丰富更满意的体验吸收了大量第三方服务的内容。一个实例便是社交媒体集成,如Twitter就被集成到奥林匹克移动app中了。很不幸,如果你依赖第三方服务的话,你就会完全受限于他们的性能特点。在使用一个第三方集成的app前,你需要确保集成无缝顺利且可以提供你期待的性能。此外,你还要确保一直监控着第三方性能且你的app被设计得可以完好地降级以防第三方的问题。

  让你的移动APP快起来
   在这个飞速运转的移动app世界有一句格言比任何时候都真——快比慢好。你可以使用一些特定工具和技术让你的移动app变得更快,包括以下:
   ??优化缓存 – 让你的app数据完全脱离网络。对于内容多的app,设备上的缓存内容可以通过避免移动网络和你的内容基础设施上的过多障碍以提升性能。 
   ??将往返时间最小化 – 考虑使用一个可以提供无数能够加快你的app服务的CDN,包括减少网络延迟的边缘缓存,网络路由优化,内容预取,以及更多。 
   ??将有效荷载规模最小化 – 专注压缩,通过使用任意可用的压缩技术减少你的数据的规模。确保图像规模适合你最要的设备段。同样,确保你利用压缩。如果你有要花很长时间加载的内容,那么你可以一点一点儿的加载。你的app可以在加载时使用该内容而不是等整个加载完成后才使用它。零售app经常使用该技术。 
   ??优化你的本机代码 – 写得不好或全是bug的代码也会导致性能问题。在你的代码上运行软件或检查代码以找出潜在问题。 
   ??优化你的后端服务性能 – 如果对你的app进行了性能测试后你发现后端服务是性能削弱的罪魁祸首,那么你就不得不进行评估并决定该如何加快这些服务。

  总结
   智能手机用户当然也是“快比慢好”,他们期待他们的app可以飞快。几乎每隔一段时间,移动运营商和智能手机制造商都要宣布更快的网和设备,但不幸的是,移动app本身的速度却跟不上。
   最主要的原因是一组截然相反的目标使得实现飞速性能变得很困难。移动app开发者总希望提升速度的同时可以提供更丰富的体验。需要更多内容和特点能够快速地覆盖宽带,内存和计算机能力。 
   本文给出了一个简短的本地移动app的性能最佳实践的例子。性能调整的空间很大,但错误的空间同样也很大。因此,早点测试你的app,绝不要药听天由命。记住——快总比慢好。

版权声明:本文出自 SPASVO泽众软件测试网:http://www.spasvo.com/news/html/2014910152013.html

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

 

 

© 著作权归作者所有

共有 人打赏支持
糖糖豆豆
粉丝 6
博文 80
码字总数 116914
作品 0
普陀
OSC 第 131 期高手问答 -- 移动 APP 性能评测与优化

OSCHINA 本期高手问答(10 月 24 日 - 10 月 30 日) 我们请来了@hanahliao(廖海珍)为大家解答关于移动 APP 性能评测与优化方面的问题。 @hanahliao(廖海珍),南开大学计算机科学与技术专业...

局长
2016/10/24
2.9K
27
推进"五通一平":手淘技术"三大容器 五大方案"首次整体亮相 百川开放升级

在云栖大会上,马云提出五个“新”,新零售、新制造、新金融、新技术和新能源,称将对各行各业造成巨大的影响,成为决定未来成败的关键。而五个新的实现,也必须是各行各业共同推进,整个生态...

阿里百川
2016/10/15
8
0
关于移动端动态化方案的再思考——Weex

在移动端日益兴起的今天,APP 本身的灵活性、迭代更新的周期、成本优化等动态性问题,成为很多移动应用的客观需求。而针对动态性,开发者们也探索出一些有力的解决方案:Hybrid 方案、结构化...

OSC源创君
07/09
0
0
原生App VS 移动Web App

原生App是专门针对某一类移动设备而生的,一般是通过网络商店或者卖场来获取并直接安装在设备里使用。 移动Web App一般是借助网络利用设备上的浏览器来运行,不需要下载安装。 比较: 原生A...

我只有这一个名字
2013/01/24
0
0
Android 开发值得订阅的日报和周刊

Android Weekly Android Weekly 是由一群国外知名的Android 开发者维护,分享的内容不仅仅只有干货,而且还有最新的技术分享,也是Android 开发圈子最早,最有名的周报。如果想看中文版,请移...

oschina
2016/04/30
3.2K
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

谷歌 Fuchsia 上手体验,将取代Android/win10

在手机市场领域,Google表现很抢眼,毫无疑问,Android 至今在移动操作系统的市场份额占据绝对领先地位,但是 Android 仍然存在不少问题,碎片化问题严重,在平板以及大屏幕设备上表现糟糕,...

linux-tao
19分钟前
1
0
List、Array与ArrayList

数组在内存中是连续存储的,所以它的索引速度很快,而且赋值和修改元素也非常快,比如: string[] s=new string[3];//赋值 s[0]="a"; s[1]="b"; s[2]="c";//修改 s[1]="b1"; 但是数组...

shimmerkaiye
21分钟前
0
0
Linux 的Lnmp环境下为mysql添加环境变量

一.问题 在Linux 安装完Lnmp 环境后 , 连接Mysql 告诉没有这条命令 mysql -uroot -p 命令失效 因为是源码安装的,所以会出现这样的的原因 。集成环境是不会出现的。 其实很简单,只需要给m...

15834278076
23分钟前
3
0
apolloxlua include函数

include函数不是单独使用的函数, 他并不是标准库的一部分, 你可以使用include函数将某个后缀为 .aop的文档包含到你的文档流中。 因为include是单独处理流, 所以不会在主处理流程中有所表示...

钟元OSS
27分钟前
0
0
【转载分享】做一名较真的工程师

近些年与我共事过的同事,一定知道我至今仍有一个较真的性格。我会:指出同事所写代码的不当命名问题(并帮助改进);指出同事所写文档中的逻辑混乱问题(并辅以修订);指出同事所写PPT中乱...

HellerZhang
29分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部