打造令用户满意的高性能安卓应用的五大秘诀

2019-05-20来源: EEWORLD关键字:安卓

如今,手机和各类移动端应用现已经成为人们日常生活的重要组成部分,因此,应用的数量不断飙升(如今已上线的安卓应用至少达到210万[1])。对于安卓开发商,在应用领域竞争日益激烈的背景下,打造可以使终端用户满意的应用正变得空前重要。

 

作为安卓应用开发商的您知道使应用终端用户满意的关键是什么吗?答案是高性能。实际上,96%的终端用户都认为应用的性能非常重要[2]。下面,我们将讨论能够使终端用户获得满意的用户体验的五种方式。

 

image.png


在进入正题前,我想先介绍一下高性能的定义以及它为何在使终端用户获得满意的用户体验方面至关重要。

 

高性能的安卓应用能够合理地使用设备资源,帮助终端用户迅速实现目标任务。实际上,高性能应用还可缩短终端用户体验到的感知延迟。

 

在这里,感知延迟是一个重要术语:它是指终端用户所体验的从点击按钮到界面发生变化这段时间内的时间差。根据终端用户所采取行动和数据获取来源的不同,我们可以有很多种方法来缩短感知延迟。

 

现在,让我们来分析一下终端用户互动和数据加载的五种情景,探讨作为安卓应用开发商的您能够采取何种方式来缩短感知延迟,并让应用对终端用户需求做出迅速且贴心的响应。

 

  1. 从最近的资源加载

 

您所开发的安卓应用的终端用户遍布全球,并且毫无疑问,这些用户越来越依赖移动化的生活方式。

 

您的终端用户和向应用提供数据的网络服务器之间的距离难以保证始终处于掌控之中,而这也正是延迟变长的主要原因。

 

为了减少感知延迟,您应尽可能从距离较近的的资源向应用提供大部分的数据;此外,许多未授权的API请求可在最近资源被清除,这样就可以避免与后端服务器之间的往返传输,进而提高了对终端用户需求的响应速度。

 

Akamai智能边缘平台[3]可提供开箱即用的服务。借助Akamai,您可以让数据总是从最优化的资源加载,这样就可以提高应用的性能,您的终端用户也可以轻易地获取数据内容。

 

2.         缓存和预取

 

许多从网络服务器加载的资源常常都在不断地进行重复使用。智能缓存机制可以将对象或API响应存储一段时间,以供重复使用,从而缩短冗长的来回传输时间。许多网络或图像加载数据库已经可以提供这种功能,您可以根据需要进行配置。这些缓存对象能够瞬时加载,因此延迟时间很短,终端用户根本不会察觉到有任何滞后。

 

有了这些数据库,当缓存内容过期时,会对其进行标记,以便从网络中重新加载。根据这些信息,您可以为数据库设定保存再利用缓存对象的时间。许多这样的数据库也支持HTTP报文头,比如max-age等。这可以帮助您在无需加速应用更新的情况下控制缓存能力以及直接从服务器加载的缓存内容的生命周期。

 

然而,在例如提供直播体育赛事比分的应用等一些情况下,缓存可能并不适用。对于此类应用,作为安卓应用开发商的您可以继续从网络加载数据。如果您从最近的资源加载数据(请见上文),对于提升应用性能的作用并不显著。

 

在某些情况下,您可能知道终端用户下一步将要做些什么。例如,电子书阅读应用可以预知,当终端用户正在读一本书的某一页时,他们可能会向前或向后翻。基于这种认知,该应用可以提前预取几页然后进行缓存。这样,当终端用户翻到这几页时,页面就可以瞬时加载。

 

类似的,在电商应用中,如果终端用户浏览到第四行的商品,他们有可能也会翻看下一页的商品。如果应用能预取下一页内容并进行缓存,那么当终端用户翻到下一页时,数据就可以瞬时加载。

 

正如您看到的这样,您可以使用多种方式预取并缓存数据,以此降低感知延迟,从而提高终端用户的使用的满意度。

 

3.         迅速加载API的响应速度

 

应用频繁使用API。如果API响应能迅速加载,那么终端用户不必耗费太多等待时间,而将更多时间用于使用应用上。

 

为此,您作为安卓应用开发商需确保有尽可能多的应用从尽可能近的资源(即:网络边缘,请见上文)中加载。这样,只有那些必须访问源服务器的API请求,才需要经历可能长达半个地球距离的漫长“旅程”。

 

另一种方法是缩减应用和后端服务器之间传输的数据大小,以此加快API响应速度。为此,您可以探索Colfer[4]或谷歌的协议缓冲[5](也称为Protobuf)等数据格式,而不是JSON。在将数据传至网络之前需将数据转化为二进制,与JSON相比,这种格式可大幅缩减API请求/响应的字节长度。值得注意的是,为了启动与Protobuf的协作,您的网络服务器和应用都需要额外的投入;不过,在许多情况[6]下,采用Protobuf获得的性能提升远超过启动它所需做出的努力。

 

迅速加载API的响应速度、优化感知延迟的第三种方法是缓存或预取可预测且重复的API响应。在缓存时,作为安卓应用开发商的您可将API响应存储至本地数据库表中,这样读取速度就能比从网络中读取的速度更快。这个本地数据库可根据自己的逻辑加以清空或刷新,不过,从本地数据库加载,然后再刷新的过程有助于实现最佳性能及最短的感知延迟。

 

4.         优化图像和视频

 

除了API之外,终端用户还可能需要加载很多的图像和视频。一般来说,应用加载的图像也可在同一应用的网站等其它地方使用。

 

与移动端应用相比,使用电脑打开的网站图像对屏幕大小、分辨率和设备类型的要求有所不同。很重要的一点是,应用上的图像需要根据资源有限的移动设备进行优化。移动端应用上的视频亦是如此。

 

即便当这些媒体从最近的资源加载数据,它们也可能达不到最快的速度;因此,作为应用供应商,您还需要确定图像和视频是否得到了优化。这些对象的绝对大小以及全球移动数据网络的不可预测性很容易抵消您仅用就近服务器就能实现降低延迟的优势。

 

为了实现这种优化,需要确保移动端应用具有最合适的分辨率和大小,以便加载图像或视频。如果这些设备太大,那么下载就会花费很长时间;如果它们太小,那么在屏幕上则会显示马赛克。

 

Akamai图像管理器(Akamai Image Manager)[7]是一种可以帮助安卓应用开发商利用单一的高质量原图对诸多移动设备进行自动优化的解决方案。这种优化也可使图像和视频的缓存变得更加容易。如果设备类型数量有限,您也可以存储同一张图像的多份不同副本。

 

图像常常包括很多不常用于应用中的EXIF数据[8](例如,拍照时设置相机细节)。Akamai Image Manager可对此进行自动优化,不过您也可以利用tinypng[9]等服务手工清除这些数据。这种优化可以缩小图像文件的大小,从而缩短加载时间。

 

另一种优化方式是利用渐进图像和自适应视频流。借助这种优化,终端安卓应用就无需等待整张图像下载;应用可逐步地下载这些图像,并在其下载时就开始显示。这可避免终端用户进入空白图像视图,同时缩短感知延迟。类似的,自适应视频缓冲技术可根据网络条件动态地调整视频质量。当带宽较小时,它可调低视频分辨率,以便终端用户能看到部分视频,而不是仅看到正在加载中的屏幕。

 

除了PNG和JPEG图像,您也可以尝试WebP格式。虽然创建WebP格式的图像需要花费更多时间,但加载时却更加高效。在本地或网络加载过程中,尝试SVG图像是另一种节省磁盘空间的有效方法。

 

5.         优化本地动画和过渡

 

动画在帮助终端用户获得满意的用户体验、以及告知用户活动方面起着重要的作用。与性能相比,动画与感知延迟有着更明显的关系。

 

过长的动画加载时间会使终端用户感到烦躁和无趣;太短或卡顿的动画会让终端用户难以理解内容的含义。两种情况都会给您的终端用户留下不好的体验。电池耗量也是设计精良的动画必须考虑的一个方面,动画在提供愉悦的用户体验的同时,还需要做到消耗尽可能少的资源。

 

根据Material Design guidelines by Google[10],移动设备上较长的动画的长度为300-400毫秒,较短的动画为150-200毫秒。比这些更长或更短的动画可能会让人感觉有滞后或是难以跟上。Material Design guidelines on motion[11]是通过例子了解这些时间范围的好选择。

 

所以,为了让终端用户更好地理解短动画的内容,动画的持续时间应在150-200毫秒之间。类似的,任何过渡辅助(比如从一个屏幕转到另一个屏幕)都不应长于400毫秒。倾向于重复的动画(比如进度条)应遵循类似的原则。单段动画的长度可以在300-400毫秒之间,这样它就可以在进度条退出前进行循环。

 

如果您想了解更多关于人类感知动作的信息,请阅读名为Human Processor Model[12]的研究。

 

结论

 

高性能的关键是综合考

[1] [2]
关键字:安卓 编辑:muyan 引用地址:http://news.eeworld.com.cn/xfdz/ic462266.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:华为:没有美国供应商 我们照样活得好
下一篇:韩媒:三星优化Galaxy Fold 或于6月份在韩销售

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

安卓机疯狂加大内存,苹果却不以为然,为何?
这实际上是一个技术问题,涉及到 iOS 与安卓两个操作系统的设计原理。 首先,安卓机上大内存,这是个中国特色,也就是说只有中国国内销售的安卓机才会上这么大的内存,海外版的安卓机主流内存基本和苹果差不了太多。图我就不贴了,大家可以自己去查一下,华为的 P30,海外版的 128G 硬盘的型号只配 4G 或 6G 内存,而中国版的 P30,64G 硬盘的型号却配上了 8G 内存;海外版的安卓机,128G 硬盘配 4G 内存比比皆是,简直不要太多,但在国内,你几乎找不到一款 128G 硬盘配 4G 内存的安卓机。这样乍一看好像我们得了便宜,可其实,这是国产安卓生态的无奈之举。 先说国内安卓机为什么上大内存吧。举一个
发表于 2019-10-10
安卓统一推送联盟新增了5个品牌,大厂聚齐
安卓统一推送联盟今天宣布,近日已收到华为技术有限公司、广东欧珀移动通信有限公司、深圳市万普拉斯科技有限公司、深圳市锐尔觅移动通信有限公司四家公司的的进度确认,均已经按照联盟标准《T-UPA0002-2019统一推送接口层规范》最新版本,完成了开发工作。联系之前已经加入的品牌,现在处于这个联盟里的成员共有华为、荣耀、OPPO、realme、一加等五个品牌的手机了。华为、荣耀将首先在EMUI 10正式版中支持统一推送,华为和荣耀新发布的机型将全部支持,现有机型也会陆续更新支持。OPPO的ColorOS将会在3.0以上版本支持统一推送,并持续适配更多机型,预计在年底的时候可覆盖ColorOS系统的93%,realme因为目前使用
发表于 2019-09-26
安卓统一推送联盟新增了5个品牌,大厂聚齐
LG推一款安卓平板,外媒称令人失望的产品
据外媒Phone Arena消息称,LG的新款平板电脑G Pad 5目前已经上架了美国,外观尚没公开。售价285美元,搭载骁龙821处理器。这台外媒堪称为令人失望的安卓平板电脑,据XDA的开发人员透露,这款在2019年上市的平板电脑竟然搭载了几年前的期间芯片骁龙821,存储方面则是4+32GB的组合。据悉LG G Pad 5配备了一块10.1英寸的屏幕,采用后置指纹识别方案,支持LTE网络。目前得知这款平板电脑不会搭载安卓10系统,而且产品定位为中端产品。值得一提的是,骁龙821采用了14nm工艺制程,处理器大核主频为2.4GHz,小核主频为2GHz,GPU主频为650MHz。
发表于 2019-09-19
谷歌向安卓智能机用户推Google One云备份服务
     Google One 是搜索巨头谷歌推出的一项消费者订阅服务,主要提供起价低至 1.99 美元 / 月的云存储扩展(提升到 100B)。 每个 Google 账户都可以享受到免费的 15GB 谷歌网盘(Google Drive)存储容量,并与 Gmail 和 Google Photos 等服务共享。超过这一限制的话,就需要付费扩容,最高可选择 9.99 美元 / 月的 2TB 网盘存储。  不过今天,谷歌宣布了一项新的增值服务,为 Android 用户提供了 手机 的自动备份选项。  通过 Google One 服务,你不仅可以备份记事本、联系人、应用程序,还可以上传原始质量的照片、
发表于 2019-09-17
任正非:美国禁止华为使用安卓,在削弱美国公司竞争
据今日华为心声社区整理的采访纪要,9月10日任正非接受《经济学人》采访时表示, 利益均享有利于华为生存,华为可以将全部的5G技术和工艺都以一次性收费的方式转让给西方国家。同时, 针对美国对华为的无限施压和抵制,任正非则表示,作为世界最强大的国家,美国本来是世界警察,维护世界秩序,但是现在美国自己把这个机制破坏了。此外,对于Mate 30系列没有预装Google的GMS生态系统,任正非表示,如果美国政府批准华为继续用Google生态系统,其实就是美国公司垄断了世界;如果美国政府不批准,美国公司在世界上的竞争力就削弱了。而如果要进行安卓系统替代,则需要两、三年时间才能完成。但在华为推出自己的操作系统期间,财务增长会放慢,但不会亏损
发表于 2019-09-17
苹果:A12能和最强安卓芯片再战两年 A13将扩大领先
      9月11日凌晨,苹果在发布会上带来了最新的iPhone 11、iPhone 11 Pro和iPhone 11 Pro Max三款手机,本次的三款新机均搭载了苹果最新的A13仿生芯片。  苹果表示,A12和未来最好的安卓芯片相比,都还能再“战”两年,最新推出的A13将再次领导业界。  从CPU性能角度来比较,苹果表示iPhone XR搭载的A12芯片要大幅领先于高通855和麒麟980,而升级版的A13芯片将会进一步扩大领先优势。苹果将A13仿生芯片拥有智能手机行业有史以来最快的CPU。  而在GPU方面,苹果也声称A12芯片优于高通的骁龙855和海思的麒麟980芯片,A13芯片将会带来更快
发表于 2019-09-14
苹果:A12能和最强安卓芯片再战两年 A13将扩大领先
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved