[TOC]

文章参考:https://www.jianshu.com/p/3f31f9e8f5ea

文章参考:https://github.com/skyline75489/what-happens-when-zh_CN

概述

当一个APP迭代完善到一定程度,就不得不考虑用户体验及性能优化。今天我们主要讨论弱网络环境下APP如何优化以达到更好的用户体验。

何为弱网络环境

弱网状态下如何优化

下面就是我们的重头戏,如何做弱网优化。我主要从移动前端以下几个方面说起:

接口设计优化

在于后端设计接口是可以从以下几方面优化:
1.慢查询监控 2.多查询优化
3.常用接口cache:对于常用的接口进行缓存处理。
4.多接口合并:所谓的多接口合并也就是某个页面内请求过多,也可以考虑做一定的请求合并。

数据压缩再处理

1.对数据进行 Gzip 压缩。
2.精简数据格式,如 JSON 代替 XML,WebP 代替其他图片格式。
3.针对不同设备不同网络返回不同数据格式。
如不同分辨率图片大小(可配合七牛):
2/3G使用低清晰度图片——>下发300X240,精度为80的图片
4G普通清晰度图片——>下发600X480,精度为80的图片
WiFi高清晰度图片(最好根据网速来判断,wifi也有慢的)——>下发600X480,精度为100的图片。

数据缓存

对首页及特定一级页面进行数据缓存,在一定的有效时间内再次请求可以直接从缓存读取数据,也可避免空白页出现影响体验。

界面优化

1.针对弱网(移动网络), 不自动加载图片(显示本占位图)。

2.界面先反馈, 请求延迟提交。例如, 用户点赞操作, 可以直接给出界面的点赞成功的反馈,在网络情况较好的时候再发起请求.(类似支付宝没网也能扫码支付。)