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

发布者:EEWorld资讯最新更新时间: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]的研究。

 

结论

 

高性能的关键是综合考虑数据细节并谨慎地利用资源。幸运的是,我们有很多种方式来实现这个目标。

 

除了上述五大秘诀之外,我还想向安卓应用开发商强烈推荐另外两种资源——The Art of Computer Programming[13]和Introduction to Algorithms[14],它们可以帮助您遵循最佳编码实践并利用最高效的算法,打造高性能的安卓应用,使终端用户获得满意的用户体验。


关键字:安卓 引用地址:打造令用户满意的高性能安卓应用的五大秘诀

上一篇:芯痛不是猝死,看华为如何“中兴”
下一篇:韩媒:三星优化Galaxy Fold 或于6月份在韩销售

推荐阅读最新更新时间:2024-10-29 07:35

美国智能机人口突破1亿 Android成长超iPhone
    iPhone 4S。(图:苹果官网)     市调公司 ComScore 周二 (6 日) 发布调查,至今年 1 月底结束的一季,美国智慧手机用户首度突破 1 亿人口。且 Google (GOOG-US) 的 Android 系统手机市占成长速度,超越对手苹果 (Apple)(AAPL-US) 的 iPhone。     ComScore 针对全美 3 万名手机注册用户进行调查,结果发现,Google 的 Android 系统产品仍盘踞美国智慧手机市场龙头,市占率较前季增加 2.3 个百分点,达 48.6%。     市占第 2 位的苹果,该季占有率则仅成长1.4 个百分点,达 29.5%。第三位的黑莓机 (Blackb
[手机便携]
Android 2.0系统将原生支持多点触摸功能
   消息人士表示将于今年发布的 Android 2.0手机 操作系统 将支持 多点触摸 功能。    Android 爱好者一直期待Google能为 Android 设备增加 多点触摸 功能,但Google开发人员表示,目前还没有为 Android 增加 多点触摸 技术的明确时间表。不过据数位消息人士表示,将于今年发布的新版 Android 系统会增加此功能。   有传言称Google选择摩托罗拉做为合作伙伴,后者即将推出的 Android 手机将采用开发代号为“Eclair” Android 系统。摩托罗拉CEO桑杰·贾(Sanjay Jha)表示,公司与Google正通力合作研发 Android 手机。  
[嵌入式]
微软到底从 Android 上捞了多少好处?
    微软长期以来依靠自己的大批专利数向 Android 手机厂商收取巨额的专利费已经不是什么秘密了。早在 2011 年就有消息称微软当时和三星谈判谋求签订一份让三星每出货一部 Android 手机就向微软支付 15 美元专利费的协议,三星方面则期望通过加深和微软 Windows Phone 平台的合作以换取将该费用降低至 10 美元每台的结果。从中我们可以看到微软和三星之间的博弈,其中涉及到很多商业问题。   在 2014 年 10 月份披露的一份诉讼文件显示微软每年从从 Android 和 Chrome OS 上所获取的专利授权收入非常惊人,仅三星一家公司,2013 年就向微软支付了高达 10 亿美元的专利授权费
[手机便携]
NXP携手Trusted Logic推出开源NFC Android API
恩智浦半导体(NXP Semiconductors)和Trusted Logic今天宣布推出开源NFC Android™ API。这套方案将为移动电话用户提供对NFC的完美支持,可以实现一系列新型非接触应用,例如移动支付、交通出行和活动票务以及直接在Android手机上进行数据共享等。 恩智浦和Trusted Logic共同引领了NFC技术与Android的集成,其第一个版本去年就已开发完成并进行了展示。两家公司目前正领导开源社区为Android™与NFC技术的集成制定行业标准。这套开放API将有助于应用和服务提供商用标准框架开发自己的NFC应用,就像过去基于JAVA用JSR 257规范那样具有良好的通用性,将有力推
[手机便携]
官司缠身不减拥趸热情,Android明年提前封王
  智能手机(Smartphone)平台历经2010年的竞争,整个市占版图已有重大变化,与2009年相较,Symbian 虽仍居王座,但市占已大幅下滑至35.5%。   DIGITIMES Research分析师兼项目经理林俊吉分析,原来分属第二及第三的 BlackBerry 与 iOS ,排名顺序虽不变,但各滑落一个名次,其中 iOS 手机 iPhone 4 上市热销, iPhone 4 及3GS在2010年下半合计出货突破3,000万支,仍供不应求,使iOS在手机方面全年市占以16.8%微幅落后BlackBerry的17.5%,两者差距不及1个百分点。   林俊吉说明,2009年排名第四的 Windows Phone ,在
[手机便携]
官司缠身不减拥趸热情,<font color='red'>Android</font>明年提前封王
大举进驻Android手机,按压式指纹识别今年要飞
神盾近期强打一系列指纹辨识晶片与相关资安应用产品,包括最新指纹辨识感测器、身分认证解决方案、YuKey智能手环,以及刚获得线上快速身分验证(FIDO)联盟认证的UAF和U2F解决方案。   神盾副总经理苏界宾认为,按压式指纹辨识方案将自今年起开始大量进驻Android智慧型手机。 神盾副总经理苏界宾表示,指纹辨识短期内仍以手机为主要应用市场,而正浮现的新应用市场包含穿戴式装置和行动支付,未来指纹辨识的应用将会慢慢从IT产业扩散至生活设备,而此次神盾展出的新品,亦包含穿戴式装置和行动支付两大区块。   苏界宾进一步指出,指纹辨识最常被担忧的问题即是个人资料的防护,因此神盾致力让产品通过相关认证,不仅已获得FIDO认证,更成
[嵌入式]
三星或放弃Android改用自家Bada平台
    三星Bada平台(腾讯科技配图) 腾讯科技讯(谭燃)北京时间6月19日消息,三星电子新任CEO权五铉(Kwon Oh-Hyun)在周一的就职演说中表示,三星未来将更加关注软件业务。分析人士称,此举可能意味着三星将逐渐放弃Android系统,改用自家的Bada平台。 长期以来,三星一直希望整合自己的硬件和软件,提供更好的用户体验。因此,三星也一直在投资自家的Bada系统,并在特定市场销售基于Bada的智能手机产品。 但由于Android风头正劲,因此三星许多智能手机和平板电脑均采用该平台,包括最新的旗舰产品Galaxy S III,这意味着三星不可能在短时间内迅速、彻底地放弃Android平台。 在过去的一段时间,三星一直
[手机便携]
苹果可从每个Android软件中获得10美元利润
    Android每个软件可以为苹果贡献10美元利润?(手机之家资讯中心配图)    手机之家资讯中心12月31日消息 ,知识产权事务所3LP Advisors LLC的股东Kevin Rivette,谈论了他关于智能手机法律案件的专业意见。与Bloomberg的谈话中,专家透露,苹果如果停止所有的法律诉讼,把精力集中在销售上,应该能赚很多钱。   Rivette认为,拥有专利的苹果,如果经营Android软件,每售出一个Android就可以获得高达10美元的利润。这是微软目前根据与Android制造商签订的经营许可合同所获得金额的两倍。   然而,尽管苹果可以经营Android软件,但它似乎对技术出售不感兴趣,不喜欢尝试
[手机便携]
小广播
最新手机便携文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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