应对不同网络条件的应用优化策略
1. 次优网络条件下的优化
移动网络连接并不总是快速、廉价且可用的。当设备无法实现完美连接时,这种情况被称为次优网络条件。为了应对这种情况,我们需要从最坏的场景出发进行应用开发,这样在良好的网络场景下也能提供出色的体验。如果先假设最佳场景进行开发,再添加代码来处理所有异常情况,会增加开发工作量。
1.1 缓存优化体验
缓存内容可以减少应用的网络流量,无论在何种网络条件下,传输少量数据都有益处。例如,缓存应用中显示的大尺寸、高质量图像,不仅节省带宽,还能在离线时使用。HTTP 本身具备处理缓存的功能,我们应充分利用。此外,还可以通过减少外部默认资源并将其包含在应用包中来消除缓存需求。
1.2 压缩提升体验
传输少量数据更快且成本更低,无论网络条件如何,这都具有优势。除了对应用下载的内容进行 gzip 压缩,还可以添加服务器进程对上传到后端的图像进行重新编码和调整大小,以减小下载图像的尺寸。需要注意的是,并非所有图像格式都能从额外压缩中受益,因为有些图像本身已经进行了内部压缩。可以通过减小显示尺寸来进一步缩小图像大小,避免下载过大的图像再进行缩小显示。
1.3 延迟操作增加可能性
将操作保存到网络条件良好时进行,可以避免在网络条件差时丢失信息或无法使用某些功能。例如,在离线时捕获的图像和视频,可以先保存到设备上,在合适的网络连接可用时再进行上传。同时,还可以在应用中添加可配置选项,控制是否可以通过移动网络上传大量数据。另外,要将准备发送内容和发送内容的过程分开,这样不仅符合编程逻辑分离的良好实践,还便于更改和组合功能的工作方式。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



