深入探索 Android 网络优化(三、网络优化篇)上

本文深入探讨Android网络优化,涵盖网络监控、流量消耗、请求质量和工具使用,如Network Profiler、Charles、Wireshark和TcpDump。通过案例分析,揭示网络请求优化误区,提供精准流量消耗的获取方案,助你提升App性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

精确获取网络流量的消耗量,解决整体均值掩盖单点异常流量的问题。

2)、网络监控

建设全面的网络监控,因为粗粒度的监控不能够帮助我们发现和解决问题。

3)、流量消耗

  • 1、精准获取一段时间的流量消耗、网络类型、前后台。
  • 2、用户流量消耗均值、异常率(消耗多、次数多)。
  • 3、完整链路全监控(Request、Response)、主动上报。

4)、网络请求质量

  • 1、请求时长、业务成功率、失败率、TOP 失败接口,导致请求失败的原因通常有两种情况:
  • 1)、弱信号:可以简单看成手机信号只有一两格的时候,这是不仅仅是信令(无线网络通信的都是一个个的信令)发出去困难,还可能导致不断切换网络、基站。App 只能在应用层做重试,因为弱信号一般都是一时的。
  • 2)、拥塞网络:可以类比为堵车、排队的场景,数据包排队,信令也在排队。这时 App 不断重试,只会使得拥塞网络更为严重。我们只能让自己的非核心业务不要去排队,并让核心业务的数据量更少,协议来回更少。
  • 2、用户体验
  • 3、请求速度、成功率:网络正常时如何更好地利用带宽提升网络请求速度?
  • 4、弱网:网络不稳定是如何最大程度上保证网络的连通性?
  • 5、安全:如何防止被第三方劫持、窃听甚至篡改?

5)、其它

  • 1、公司成本
  • 2、带宽、服务器数量、CDN
  • 3、耗电

2、网络优化误区

  • 1)、仅仅关注流量消耗,忽视其它维度。
  • 2)、仅仅关注均值、整体、忽视个体。

二、网络优化工具

1、Network Profiler

特点

  • 1)、显示实时网络活动:发送、接收数据及连接数。
  • 2)、需启动高级分析。
  • 3)、仅支持 HttpURLConnection 与 OkHttp

打开高级分析

Run => Edit Cofigurations => 界面最右边 Profiling => 打开 Enable advanced profiling (required for API level < 26 only)

使用 Network Profiler 调试 WanAndroid 网络请求

选中目标网络请求,可以看到在下方的 Connection View 一栏看到对应的网络数据,如下所示:

  • Size
  • Type
  • Status
  • Time
  • Timeline

选中 Connection View 特定的一条数据即可在右边看到该请求对应的网络数据。

Overview

该网络请求的预览信息

普通 Json 数据请求

图片加载请求

Response

Response Header 与 Body 信息

Request

Request Header 与 Body 信息

CallStack

网络请求的调用堆栈信息, 下图就是 Awesome-WanAndroid 发起一个网络请求所经历的调用堆栈:

Awesome-WanAndroid 使用 Glide 发起一个图片加载请求所经历的调用堆栈:

关键细节

高级配置中的 required for API level < 26 only 不是限定调试的手机版本小于26,我使用 API 27 的手机也可以调试。

实践中获得的新知识及感悟

如果想快速搞懂接手项目中的网络/图片加载等框架的w网络请求流程,可以使用 Profiler NETWORK 的 CallStack 功能,并且双击其中任意的一行调用链方法都可以 jump to 指定源码。

选中网络请求无法显示数据?

打开高级分析即可。

2、Charles

使用 Java 开发的,MAC 上使用较多。

特点

  • 1)、断点功能
  • 2)、Map Local
  • 3)、弱网环境模拟

安装配置

1、下载 Charles
2、截获手机端的网络包。

需要配置手机与电脑连接同一 WIFI。

1)、电脑端设置 Charles — 打开 HTTP 代理并设置代理端口
  • Charles 菜单栏 => Proxy => Proxy Settin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值