文档章节

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

糖糖豆豆
 糖糖豆豆
发布于 2014/10/11 11:17
字数 1871
阅读 176
收藏 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
3.1K
27
走进 360:移动应用安全进阶之路

随着移动互联网的高速发展,移动应用服务已成为互联网重要的信息传播渠道和公众服务平台,移动智能终端的安全威胁也接踵而来——APP软件中木马病毒、恶意程序和违法有害问题日益突出。如何规...

安卓绿色联盟
03/22
1
0
关于移动端动态化方案的再思考——Weex

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

OSC源创君
07/09
2.5K
16
360移动技术开放日 聚焦移动前沿技术(有福利)

在手机已经成为我们时刻离不开的生活必需品的今天,移动开发技术变得尤为重要。 本期360互联网技术训练营邀请360顶尖Android团队与快手的特邀嘉宾分别从APP性能监控、组件化,以及AR、特效方...

ZVAyIVqt0UFji
08/23
0
0
推进"五通一平":手淘技术"三大容器 五大方案"首次整体亮相 百川开放升级

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

阿里百川
2016/10/15
8
0

没有更多内容

加载失败,请刷新页面

加载更多

[开源系统] springboot快速开发框架推荐

本期为大家精选了 码云 上优秀的 Spring Boot 语言开源项目,涵盖了企业级系统框架、文件文档系统、秒杀系统、微服务化系统、后台管理系统等,希望能够给大家带来一点帮助:) 1、项目名称:...

MoksMo
15分钟前
1
0
深入解析Vue里函数的调用顺序介绍

今天为大家分享一篇对vue里函数的调用顺序介绍,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 method用来定义方法的,比如你@cl...

前端攻城老湿
21分钟前
4
0
深入总结Javascript原型及原型链

本篇文章给大家详细分析了javascript原型及原型链的相关知识点以及用法分享,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 我们创建的每个函数都有一...

前端攻城小牛
24分钟前
2
0
千万级规模【高性能、高并发】互联网架构经验分享~

作者:Java关博 链接:http://blog.51cto.com/14049376/2329037?utm_source=tuicool&utm_medium=referral 架构以及我理解中架构的本质 在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙...

Java干货分享
25分钟前
1
0
缓存

并发情况下发生的缓存问题: 缓存一致性: 缓存穿透:是指在高并发场景下,如果某一个key被高并发的访问,缓存没有命中,出于容错性的考虑,会去数据库获取数据,从而导致大量请求访问数据库...

wuyiyi
29分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部