写点什么

我们分析了 100 个移动应用程序 发现了让 APP 更快的秘籍

  • 2017-06-27
  • 本文字数:2343 字

    阅读完需:约 8 分钟

据不完全统计,平均每人每天要跟 10 多个 App 打交道,无疑,App 已成为手机生态系统的核心应用。体验好的 App 应该具备增加用户转化率、驱动用户安装、增加用户忠诚度三点。如何提升 App 的用户体验,全球最大的 CDN 服务商 Akamai,通过对应用商店中前 100 个 App 的移动性能分析,提出了目前移动 App 普遍存在的问题,并提供了一套全面的 App 优化方案(详情访问)。

API 分析:第一方与第三方

一个移动 APP 由两类 API 组成:

  • 第一类是对应用程序加载,负责用户体验的至关重要的 API;
  • 另一类负责收集信息,分析数据,启用广告追踪和社交媒体整合的第三方 API。 这类 API 对用户体验并不重要。

分析显示,每个移动 App 平均包含 8 个第三方 API 和 4 个第一方 API:

在前 100 个 App 使用的第三方 API 中,有 73 家企业使用了 Google Analytics 和 Ad SDK:

这为什么很重要?

第三方 SDK 主要用于分析和跟踪移动 App 的崩溃状况,但太多的第三方 SDK 和 API 会损害移动应用程序的性能,因此了解您的 App 需要多少必要的第三方 API 至关重要。 例如,App 的部分应用程序被第三方广告代码轰炸,会导致关键 API(第一方)和非关键 API(第三方)之间的套接字争用,影响用户体验。

移动性能分析

通过分析每个 App 的.har 文件来获取关于性能更多的信息(.har 文件提供了对应用程序的每个请求的洞察,并能够提供 DNS 连接、TCP 和 TLS 连接时间的数据,响应时间,下载时间等)可以发现:

1、较少的移动 APP 在使用 IPv6

前 100 个 App 中,84.2% 的 App 没有使用 IPv6,5% 以下的 App 使用了 IPv6。蜂窝网络上的 IPv6 连接比 IPv4 连接相对更快,Facebook 和 Linkedin 进行的 RUM(实际用户监控)研究显示, 使用 IPv6 能够使移动网络的性能显着提升。

2、非标准 User-Agent 字符串

移动 App 则通过发送“User-Agent 字符串”向网站传递客户端的信息,标准的 User-Agent 字符串包含设备信息和使用的浏览器类型。当今很多移动 App 通过客户端信息来做出决策,比如根据设备类型调整图像大小。但是 User-Agent 字符串错误或不标准时,所有基于用户信息的字符串失败。据调查,大多数图像处理服务并不会根据设备类型调整图像大小,从而导致将非常大的图像下载到设备。在本文分析样本中,有 67.9%的移动应用在请求内容时具有非标准 User-Agent 字符串。

3、未使用 HTTP/2 协议

HTTP/2 具有标题压缩和套接字重用的功能,可避免创建新的 TCP 套接字,并为每个请求协商 TLS,从而减少加载时间。尽管大多数企业对域名已启用了 HTTP/2,但这并不意味着 App 也能正常使用 HTTP/2 协议,因此,需要升级移动应用程序网络库来支持 HTTP/2。

通过分析不难发现,大部分 App 都存在一定的问题,可以采用“优化 API”和“升级 HTTP/2 协议”的方法提速。要想提高下载率和用户参与度,App 不仅需要拥有引人入胜的内容,也要提供极致的用户浏览体验。如何在保证速度的前提下承载更丰富的内容?答案是——优化每一个关键问题!

APP 速度优化的关键问题

  1. 复杂的移动网络环境:移动环境复杂多变,很容易从快到慢,从慢到无。如何保证用户获得始终如一的良好体验?
  2. 最后一公里延迟:在移动网络中,信号是以电磁波的形式通过基站、在不同区域之间进行传播。这导致蜂窝网络的延迟、不可靠。

目前 CDN 服务商节点只能放在基站后面。这就意味着传统 CDN 对于“基站——用户”这段距离无法加速。“这段距离”就像一片烟雾笼罩在云里的用户端,而雾气缭绕之下就是著名的最后一公里问题。

解决方案:智能与工具的双剑合璧

以上关键问题,除了在 CDN 云平台的智能优化,还可以借助外部工具。我们根据网络运营中需要注意的事项,总结了以下 4 点建议。

返回用户网络状况

移动环境复杂多变,这就需要你的 App 能快速感知网络环境。因此,开发人员需要一个 API 接口,能够访问并返回实时网络状态,以便根据返回值预先设置不同网络状态下加载的内容。提前设置网络状态佳的情况下加载高清图像,网络不佳时减少图像像素。

同时也可根据网络状态调节推送内容,如网络不佳时返回少量关键搜索结果。

智能预设内容

移动应用程序开发人员能以智能方式,预先定位内容。开发人员可收集统计信息得到用户偏好,并根据用户偏好、客户端和服务器之间设置的协议预制内容。用户进行注册后,预置内容自动加载到设备上。这将允许用户在离线的状态,依然可以从 App 中获得良好的体验。

加速最后一公里

以往移动终端只能根据所处网络所给的默认 DNS 来决定和哪个服务器通讯,无法控制最后一公里的性能。现在,通过 Akamai 的 Sureroute for cellular 技术,移动终端可以获得多组 CDN 的服务器节点目标地址。结果可能有一个运营商的不同区域地址,甚至不同运营商的地址。

终端会发出极微小的探测包,向不同地址结果赛跑探测,实时判断出真实连接性能最好的节点地址。同时,它也带来了多路径冗余备份的能力!

不同终端交互一致

不同于 Web 站点的是,App 受限于移动设备和操作系统。为了适应不同设备大小,App 开发者需要根据目前市场上主流手机品牌、型号、尺寸来设计不同密度图像。想让越多不同的屏幕大小的手机能够适应你的 App,则生成的图片屏幕密度版本要越齐全。

开发者可以引入一站式“图像管理器”——自动优化每张在线图像,实现适合于所有图像和设备大小和品质的最佳结合,提升浏览体验,简化开发流程。

写在最后

APP 性能问题是一个复杂的领域问题,解决性能问题关键是找出性能瓶颈,但如果永远只能“东窗事发”之后进行查找补救还远远不够,因而在解决系统性能的道路上,需要在系统开发时就给予足够的重视,甚至在架构决策时,就开始考虑性能的需求。移动应用程序之初便是对 API 的构建,Akamai 从 API 加速 、 缓存、 压缩、Prioritization Cloudlet 四个维度给出了比较全面的 API 优化方案与建议,感兴趣的读者可以点击学习

2017-06-27 19:004188

评论

发布
暂无评论
发现更多内容

你知道哪些Python 中删除文件的方法?

秃头小帅oi

Waves Complete 12 for mac(全套音频效果处理工具)完美破解版资源

Rose

如何在本地运行大型语言模型?

神州数码

针对一个有意思的钓鱼免杀样本的详细分析

我再BUG界嘎嘎乱杀

黑客 网络安全 安全 信息安全 网安

API 接口测试的发展前景展望

Noah

GPU云服务器是什么?有什么用?

Ogcloud

gpu 服务器 云服务 云服务器 GPU云服务器

进修总结汇报ppt怎么做?用这3款AI工具一键快速生成!

彭宏豪95

效率工具 职场 PPT 办公软件 AI生成PPT

电商数据洞察:淘宝与天猫商品详情API的深入解析与应用

代码忍者

6 大推荐给开发者的无代码工具

NocoBase

无代码开发 无代码

数据可视化中的个性化定制设计

inBuilder低代码平台

企业如何构建全面的指标管理体系?

袋鼠云数栈

指标体系 指标 指标平台 指标数据安全 指标生命周期

Sensei for Mac(好用的系统优化清理工具)v1.5.9中文激活版

Rose

Jenkins的安装教程

禅道项目管理

技术 jenkins 应用安装

微店商品数据获取新姿势:商品列表接口深度剖析

tbapi

微店API 微店商品列表接口 微店商品列表API

Tik Tok账号被限流什么原因?怎么解决?

Ogcloud

TikTok tiktok运营 tiktok直播 TikTok养号

锡耶纳大学与 NocoBase:教育管理系统的全新篇章

NocoBase

无代码开发 教育管理 无代码 无代码平台

ACM MM2024 | 网易伏羲多模态研究再获国际认可,推动特定领域跨模态理解新突破

网易伏羲

多模态 网易伏羲 VLP CMITR

首批搭载豆包大模型量产车型 smart精灵5即将发布

新消费日报

SnailSVN Pro for mac(SVN客户端)使用教程

Rose

【YashanDB数据库】数据库运行正常,日志出现大量错误metadata changed

YashanDB

yashandb 崖山数据库

对比速览 | Alluxio 企业版 v.s. 社区版

Alluxio

模型训练 大数据分析 大模型 Alluxio GPU 利用率

我们分析了100个移动应用程序 发现了让APP更快的秘籍_DevOps & 平台工程_阿卡迈_InfoQ精选文章