如何保证高质量的—移动APP的性能最佳实践

加速之必要
  不考虑技术,有一件事是肯定的——人们似乎总是希望可以更快。根据各种各样的研究,现在用户只愿意等待一个web应用程序加载三秒或更短的时间,超过的话,他们就会变得越来越不耐烦或者干脆换一个应用程序。这些高期待不断被压到移动web之上;现在还压到移动App上。就像Web,现今的移动移动app都有它们自己的性能问题并需要做出一些微调。最新研究表明,过去,在手机上获取app时,47%的移动用户主要是抱怨速度慢且反应迟钝。App在苹果的app商店上被谴责“慢得可怕”。对于Facebook的iPhone应用程序,38,000条评论中有超过21,000的用户只给app一星的评价。用户多数表示app慢,死机,“一直在加载”。
  “移动app根据它们在app商店的排名而生存或死亡……排名不佳,用户采用率就降低”佛里斯特研究公司的MargoVisitacion这么说道。这或许就是为什么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,绝不要药听天由命。记住——快总比慢好。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-20 00:26:38

如何保证高质量的—移动APP的性能最佳实践的相关文章

一触即发——App启动优化最佳实践

一触即发 App启动优化最佳实践 文中的很多图都是Google性能优化指南第六季中的一些截图 Google给出的优化指南来镇楼 https://developer.android.com/topic/performance/launch-time.html 闪屏定义 Android官方的性能优化典范,从第六季开始,发起了一系列针对App启动的优化实践,地址如下: https://www.youtube.com/watch?v=Vw1G1s73DsY&index=74&list=PLWz5r

如何书写高质量jQuery代码(使用jquery性能问题)_jquery

1.正确引用jQuery 1.尽量在body结束前才引入jQuery,而不是在head中. 2.借助第三方提供的CDN来引入jQuery,同时注意当使用第三方CDN出现问题时,要引入本地的jQuery文件.(对于已经使用了cdn的网站可以忽略,现在用户带宽都升级了,这个可以忽略了,放别人机器不一定稳定) 3.如果在</body>前引入script文件的话,就不用写document.ready了,因为这时执行js代码时DOM已经加载完毕了. <body> <script src

如此牛逼?双11背后的秘密-支付宝app双11最佳实践

     近来,FF项目的运营活动越来越多,对于架构设计以及程序研发有了更高的要求,参考国内互联网公司对于营销活动app的设计思路,我们找到了最具有代表性的支付宝双11活动,阐述运营活动类高并发模块的设计思路,并阐述其测试方案.      对于高并发类app的设计,我们需要从两个方面考虑:一是app端的设计,另一个是后端服务的支持,其中对app端的设计比较简单,一般是数据预缓存和cdn分发技术,后端的设计是最重要的环节,本文着重讨论后端设计. 一.运营活动性能问题分析 (一)数据库单点问题  

App启动优化最佳实践

做Android开发,一定写给过启动页,在这里做一些初始化的操作,还有就是显示推广信息. 很普通的一个页面,以前测试也给我提出过bug,应用在启动的时候,有时候有白屏/黑屏.当时能做的就是尽量较少耗时操作,上面医生的文章里也有提到,但是通过主题的方式优化这个问题之前还真是不知道的. 下面主要总结一下通过主题的方式优化启动页(医生还提到了在子线程初始化和使用IntentService初始化,都是属于异步初始化,还有延迟初始化,就不说了) 通过修改主题优化启动时白屏/黑屏 原理请移步到医生的文章,我

鱼和熊掌兼得——解密阿里云PCDN如何实现高质量低价格

在内容分发领域,之前CDN产品一直占据着主导地位,CDN的质量好,但价格偏高,正应了那句老话"一分价钱一分货".质量和价格似乎是矛盾体,鱼和熊掌不可兼得.随着云计算的高速发展,不断涌现出各种黑科技,让"性价比"不再是句口号,低价也能买到好产品.今天介绍的阿里云这款黑科技产品就是PCDN,质量不低于CDN,同时价格可以低至CDN的一半,质优价廉,鱼和熊掌兼得. PCDN是以P2P技术为基础,通过挖掘利用边缘网络海量碎片化闲置资源而构建的低成本高品质内容分发网络服务.通

Photoshop调出风景照片高质量暗色效果

越来越多的对照片质量要求高的朋友都在使用RAW格式的照片格式,并通过ACR来还原出RAW所记录的丰富信息.下面就给大家介绍利用"智能图层"蒙版来实现不同区域的曝光的调整,同时又保证高质量的画质表现. 大家都知道RAW格式的照片,只有转入到PS中才能使用蒙版工具,可以对照片进行曝光,色彩等局部范围的调整,但是单纯的在PS界面中的调整,每一步的动作都是有损照片质量的,而在ACR工作界面中却没有一个蒙版工具,例如一张高光与暗部反差很大的RAW照片,如果仅仅利用ACR中的"恢复&qu

如何做好高质量软文营销的外链

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 软文营销一直被认定为高质量外链的主要生力军,其主要的宣传作用,高质量外链的形成对于网站的收录.权重.快照.所侧重的关键词锚文本外链对于关键词排名起到了不可少的重大作用,今天整理了一些关于软文营销高质量外链建设当中一些重要的细节问题集合,希望能够给予大家一些帮助. 第一点:什么是软文营销高质量外链? 常见的高质量外链的发布网站所属质量的分辨能够

高质量的外链才是提高排名最有力的保证

,我们每天都会去这些平台发布一些外链,但是至于外链质量如何还要看大家是如何利用这些平台的,如今百度搜索引擎越来越注重外链的质量,垃圾外链是逃不过百度搜索引擎的法眼的,大量的垃圾外链堆积往往还会导致网站被降权,那么我们应该从哪里给网站找一些高质量的外链来提高网站排名呢!下面谈谈我的看法. 论坛大家都很熟悉,常见的论坛外链就是在文章后面加上我们的网址签名,相信大家最喜欢的论坛外链形式就是那些能够加锚文本链接的论坛,锚链接是提高网站关键词排名最有效的方法,论坛外链做起来很容易,基本上就是找一篇文章复制

[QCon讲稿实录]谈高质量架构产品化输出

本文是<2016 Qcon北京>运维专场开场讲稿实录,讲阿里聚石塔TAE团队如何做高质量架构产品输出 大家早上好,我是智宇,来自阿里巴巴商家业务事业部.很高兴能今天能在运维专场的开场给大家分享一下聚石塔容器系统运维.在进入正题前我先简单介绍一下聚石塔.聚石塔是阿里巴巴电商云平台,主要是面向整个阿里电商生态,提供带有电商属性的云服务.大家知道围绕着阿里电商生态有传统概念的买家,卖家之外,还有品牌商,服务商和ISV也就是独立软开发商等角色.除了阿里巴巴提供的基础的电商服务外,这些中小卖家,品牌商在