第16课-网络优化<中>
对于速度、弱网络以及安全的优化,该从哪些方面入手,首先我们要弄清楚一个网络请求的整个过程,示意图如下:
可以看出,整个流程分为 发起请求->DNS解析->创建连接->发送/接收数据->关闭连接
第17课-网络优化<下>-大数据下网络如何监控
插桩
为了兼容性考虑,首先考虑插桩。如360开源的性能监控工具 ArgusAPM ,就是利用 Aspect 切换插桩,实现监控系统和 OkHttp 网络请求库的请求。
系统网络库的插桩实现可以参考TraceNetTrafficMonitor,主要利用Aspect的切面功能,关于OkHttp的拦截可以参考OkHttp3Aspect,它会更加简单一些,因为OkHttp本身就有代理机制。
Native Hook
hook 本地的代码,需要考虑兼容性
统一网络库
ios 和Android 都统一使用同一套网络库,统一监控
小技巧:1、我们可以通过Android官方的 TrafficStats 类来获取整个手机或者某个 UID 从开机算起的网络流量; 2、Android 和 Iphone 都有一个网络测试模式,可以尝试下:
Android手机:打开拨号界面,输入 ##4636## ,然后按拨号键(可进入工程测试模式,部分版本可能不支持)
iPhone手机:打开拨号界面,输入 3001#12345# ,然后按拨号键。
自己注:在网上找到的微信弱网优化方法