问题
在网络切换后,有时调用HttpDnsService.getIpsByHostAsync返回空的IP。
HttpDnsService.getIpsByHostAsync
问题原因
由于运营商在网络切换后发生了变化,之前解析过的IP不再有效。因此,SDK在收到网络切换广播后,会清除内存中已解析的IP。
解决方案
通过设置HttpDnsService.setPreResolveAfterNetworkChanged(true)来尽量避免返回空IP。设置为true后,当出现网络切换时SDK会立即对域名再次进行解析。
HttpDnsService.setPreResolveAfterNetworkChanged(true)
true