外观
网络切换后请求失败或服务收不到状态 怎样处理?
标准回答
我会使用 ConnectivityManager 的 NetworkCallback 观察网络可用性、能力和丢失事件,把状态变化纳入连接管理。Wi-Fi 和蜂窝切换时,原有连接可能失效,需要取消或重建相关请求,并设置有限重试、退避和超时;涉及重复写入的请求必须有幂等设计。服务侧不能只缓存一次开机时的网络状态,还要处理回调注销、进程恢复和权限限制。定位时对照回调、路由和请求时间线,确定是通知缺失还是连接本身不能继续使用。
延伸追问
网络回调的到达不意味着所有远端服务立即可访问,业务仍需处理具体请求失败。
内容来源
- Android Framework 知识手册 · 原条目
6-8