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

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服务号
享受更多官方福利

推荐阅读

三星官方再次确认:Galaxy S8/Note8无缘安卓10更新
       三星客户代表先前曾两次声称Galaxy S8和Galaxy Note8将在今年获得Android 10系统更新。听起来似乎很有希望,但这根本不会发生。在近期的S20发布会上,三星官方予以澄清。  IT之家获知,几个月前三星发布的Android 10更新路线图中省略了S8和Note8智能手机。但是令人感到奇怪得是,三星的客户代表在几个月后再次提供了虚假的升级信息,现在确切消息是:三星Galaxy S8和Galaxy Note 8将不会收到基于Android 10的One UI 2.0更新。  其实这并不是什么新奇的消息了,不过由于三星客户代表带来了虚假信息,不得不再次澄清。IT之家
发表于 2020-02-28
Planet Computers新机支持安卓和Debian Linux双系统
      目前现在的智能手机通常会预装固定的操作系统。在当今时代,我们几乎局限于iOS或Android系统。IT之家发现,在PC上,用户拥有更多选择。实际上,在PC上用户具有双引导操作系统的能力,可以把两个系统OS驻留在同一款硬件设备上。  好消息是,如果你想要搭载双系统的移动设备,现在有了新的选择,因为Planet Computers终于面向用户推出Cosmo Communicator形式的新智能手机。据IT之家获知,通过这款智能手机,它将能够同时启动Android和Linux系统,或者如果需要,甚至可以添加Debian Linux。  用户将能够从这些操作系统进行多次引导,而无需彼此替换,尽管缺点
发表于 2020-02-26
手机如何电视投屏?安卓苹果通用方法一招解决
       在这个特殊的时期,大家都过了一个超长版的春节。孩子是玩疯了,可是却苦了家长,没有了老师的约束,简直就是无法无天。好不容易等到了“开学”——网课,但手机那么小的屏幕,着实让人担心对眼睛的伤害,投屏又遇到了困难。  下面告诉大家一个非常简单的方法,不分手机品牌,安卓和苹果手机都可以通用,毫无操作性小白看完也会用。  目前很多的手机都带有镜像的功能,只需在手机设置里找到投屏或者是镜像的选项就可以实现投屏。以小编的小米手机为例,在菜单栏就有一个投屏的选项,根据图片连上之后,就可以实现投屏,前提是手机和设备必须是在同一个无线网络。在设置里也很容易找到投屏,很是方便。  华为手机和苹果手机
发表于 2020-02-16
安卓版谷歌Gboard输入法提供了全新Emoji贴纸
安卓版谷歌Gboard输入法迎来了一项新特性,可以将现有的Emoji表情用作元素,把两个表情融合为一个新的Emoji贴纸,谷歌称此为“Emoji厨房”,并在今天向用户推送更新。  值得注意的是,“Emoji厨房”中所有的“菜谱”都是给定的,由设计师设计,暂不支持用户任意用两个Emoji DIY新的贴纸,似乎叫“Emoji餐厅”更合适。不过往好的一面看,新贴纸并不是用两个Emoji元素拼凑而成,而是结合两者的特点进行重新设计,比如下图中的例子。  使用方法比较简单,输入一个Emoji表情,Gboard会根据其特点推荐贴纸,选择即可。
发表于 2020-02-16
安卓版谷歌Gboard输入法提供了全新Emoji贴纸
诺基亚首款预装安卓10手机现身,搭骁龙665处理器
     最近诺基亚部分型号的智能手机已经升级到安卓10系统了,目前诺基亚首款预装安卓10的手机也被曝光。     据nokiapoweruser消息,近日一款型号为“TA-1234”的诺基亚手机已经通过Wi-Fi认证、俄罗斯EEC和印度BIS认证。根据认证信息显示,“TA-1234”将是诺基亚首款预装安卓10的智能手机,将搭载高通骁龙665处理器。  关于诺基亚新机的消息,目前爆料称诺基亚8.2 5G手机和另一款诺基亚新机将于MWC 2020正式亮相。nokiapoweruser猜测称“TA-1234”可能是诺基亚8.2的4G版本,详细信息还有待官方正式公布。
发表于 2020-01-14
诺基亚首款预装安卓10手机现身,搭骁龙665处理器
索尼Xperia国行版升级了安卓10,不会删除现有谷歌服务
      近日有传言称索尼Xperia国行版手机升级到安卓10操作系统后会删除谷歌服务,今晚数码博主ZACKBUKS咨询了索尼相关人员确认不会删除。      ZACKBUKS在微博表示,索尼研发确认国行Xperia手机升级到Android 10后,目前已有Google服务框架的机型不会删除Google服务。周一会找客服确认此事,请各位不要再传谣。  据了解,索尼在去年11月正式公布了自家Xperia手机的安卓10更新计划,索尼Xperia 1和索尼Xperia 5手机在2019年12月开始接收更新;此外,索尼Xperia 10、索尼Xperia 10 Plus
发表于 2020-01-06
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved