datasheet

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

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

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

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

推荐阅读

华为向安卓开发者发邀请,在自家应用商店上架App

据外媒消息,华为正在鼓励安卓应用开发者在自家应用商店上架App,从而将自家应用市场作为Google Play Store的替代品。华为在发给安卓开发者的邮件中指出,华为在过去两年中推出的3.5亿部手机上都有自己的应用商店(其中一半是在供向海外市场的),App Gallery(华为应用商店)每月有2.7亿活跃用户。       邮件中华为表示,我们意识到您的Android应用程序XXX还没有在我们的AppGallery中发布;为了保证您的应用程序能够被我们的用户顺利使用,华为承诺为您提供全面的支持,帮助您将您的应用程序发布到我们的AppGallery中。因此,我们想邀请您免费加入我们的56万
发表于 2019-06-12

华为手机操作系统今年8月将推出 安卓主导优势还能持续多久

据《环球时报》消息,华为计划最早于2019年8月或9月推出自主研发的手机操作系统。当前,华为手机主要用安卓操作系统。而安卓属于谷歌研发推出,当特朗普对华为发布禁运令之后,美国企业谷歌与华为的部分业务中止合作,这意味着华为手机将不能像以往那样使用安卓操作系统。在这样的背景下,业界传出华为正积极筹备自主开发的手机操作系统。据悉,华为手机操作系统有两个版本并正在测试:一个是面向国内市场,另一个面向国际市场。面向国内市场的手机操作系统称为“鸿蒙OS”;面向海外市场的操作系统“Oak OS”。以往全球手机操作系统以谷歌的安卓和苹果iOS为两大阵营,安卓操作系统主要是开放的形式,而苹果iOS主要支撑苹果手机的运营。安卓系统正是因为其开放性
发表于 2019-06-11

谷歌分析:华为将推出安卓“混合”版本操作系统

6月8日消息,据英国金融时报报道,谷歌正试图说服特朗普政府不再禁止向华为出口的许可,而且是以美国国家安全的名义向华为提供技术。金融时报援引消息人士透露,该论点的核心观点是,华为将被迫推出安卓“混合”版本,这种版本将“更容易被黑客攻击,尤其是在中国地区”。毫无疑问,如果谷歌和其他美国公司不再与像华为这种体量的公司做生意,那么其营收确实会受到不小的影响。究竟是谷歌担忧失去华为这个大客户,还是真的因为“混合”版本安卓会导致更严重的安全问题,我们不得而知,但可以肯定的是,美国众多大科技公司在对待华为被禁一事上并没有立场坚定的和特朗普政府站在一边。目前所有美国公司,包括谷歌都被禁止与华为进行业务往来。从长远来看,这意味着谷歌将无法在华
发表于 2019-06-11

它将比安卓更强,传华为鸿蒙操OS在9月正式推出

22日!这无疑告诉我们,鸿蒙操作系统会在9月发布,而现在,这个信息也被证实了!  传华为鸿蒙OS系统正在加紧测试中,9月份可能正式推出商用,从此前传出的消息看,华为开发的鸿蒙不是安卓系统的分支或修改版本,而是基于5G物联网构建的全新的、独立的操作系统。它采用全新微内核、跨平台设计,目标是打通手机、电脑、平板、电视、汽车、智能穿戴,统一成一个操作系统,这将是一个非常强大的操作系统,其实安卓操作系统当初是针对智能手机而生的,已经遭遇到很大的问题。 安卓的危机         我们知道Android系统是采用
发表于 2019-06-11
它将比安卓更强,传华为鸿蒙操OS在9月正式推出

谷歌也动手了,将限制华为安卓合作

据路透社报道,谷歌(Google)已暂停与华为(Huawei)的合作,该业务不属于开源许可范围。 此前,特朗普政府决定禁止华为进入美国市场。 谷歌暂停与华为合作 在“高通、英特尔、赛灵思、安森美”等企业接到美国政府通知,停止向华为供货后,美国对华为的“打击”还没有停止,谷歌在日前宣布正式中止与华为合作。 据路透社日前报道,知情人士表示,华为正在失去Android操作系统的更新,华为即将在中国以外推出的手机将无法使用Gmail和谷歌Play等应用程序和服务。知情人士还透露,谷歌也将不再向华为提供技术支持。 华为只能使用AOSP继续开发新的安卓系统。这意味着,华为即将失去
发表于 2019-06-04
谷歌也动手了,将限制华为安卓合作

华为Mate 20 Pro重新回安卓测试名单 ?

集微网消息(文/艾檬)这些时日美国打压华为的事件不断出现反转或被反转。就在SD协会、WiFi联盟和蓝牙技术联盟等陆续恢复华为的成员资格后,今天谷歌也有了剧情反转。之前谷歌母公司Alphabet宣布停止与华为部分合作,并在Android Q Beta测试版设备列表中删除了华为Mate20 Pro的名字,但今天在安卓 Q Beta版页面上,华为Mate20 Pro已重新现身,这意味着华为Mate 20 Pro将继续支持最新的Android Q Beta测试版。      在本月的谷歌I/O开发者大会上,官方公布了首批支持Android Q的厂商,包括谷歌Pixel、一加、传音、小米、华硕、华为、索尼
发表于 2019-06-03
华为Mate 20 Pro重新回安卓测试名单 ?

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved