HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

我们分析了 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:003761

评论

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

直呼内行!靠着这份阿里10w字面试总结,我成功收到了4个大厂offer

Java 程序员 架构 面试

消息队列详细架构设计

Lane

分解的三要素,从经典中感悟

顿晓

5月日更 分解

基于 MySQL 的消息队列系统架构设计文档

小遵

Linux 的 IO 通信 以及 Reactor 线程模型详解

Linux服务器开发

reactor 后端 多线程 Linux服务器开发 网络io

「技术人生」专题第1篇:什么是技术一号位?

阿里巴巴中间件

技术 程序人生 方法论 思维

架构实战营 - 模块三作业

Sun

如何做好用户画像?

石云升

创业 用户模型 5月日更

撸完腾讯T4大佬整理的ThreadLocal笔记,解决内存泄漏只是小儿科

牛哄哄的java大师

Java ThreadLocal

zookeeper的watch机制

大数据技术指南

zookeeper 5月日更

中国式美好假期:用AI地图,抢先体验未来出行

脑极体

模块1作业

圆心角

辞旧迎新岁岁新

Thomas

matlab

强推!Java大牛熬夜一周梳理的 Spring IOC笔记,收藏一波

飞飞JAva

Java 容器

消息队列架构设计文档

方堃

网络攻防学习笔记 Day7

穿过生命散发芬芳

5月日更 网络攻防

大促秒杀场景技术方案

Mars

秒杀

在校生丨五面丨拿到阿里offer,你还在边“摸鱼”边抱怨“行业内卷”吗?

Java架构师迁哥

【得物技术】软件工程与PlantUML实战

得物技术

软件工程 UML PlantUML 实战 得物技术

企业密码管理为何仍然是一个难题?

龙归科技

密码学 密码 弱密码

太好用了!斩获3个大厂Offer后,才发现学霸给的JVM笔记有多强大

飞飞JAva

Java

想提升查询性能?openLooKeng新下推框架助您一臂之力

openLooKeng

程序员应如何打破平庸,杜绝淘汰,避免内卷!【强烈建议收藏!】

程序员 ios开发

存储优化补充篇:Explain索引优化实操

Coder的技术之路

高并发 高并发系统设计 项目实战 数据库调优 索引优化

惊呆了!阿里自爆2021年度九大Java技术合集,Github上已获赞98.3K

Java架构师迁哥

内卷

Jxin

直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习笔记

Java 程序员 架构 面试

【LeetCode】数组异或操作Java题解

Albert

算法 LeetCode 5月日更

量化AI智能交易软件,马丁策略交易

React Hook | 必 学 的 9 个 钩子

程序员海军

最佳实践 方法论 大前端 React Hooks 引航计划

详解 WebRTC 传输安全机制:一文读懂 DTLS 协议

阿里云视频云

阿里云 WebRTC 通信协议 视频云 流媒体传输

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