原因

  • Android会优先选择ipv6 的进行dns的处理,具体为啥会慢,还在探索中…,也请大神们指教一下,多谢?

解决方式

  • 重置Android的线路选择,优先选择ipv4(基于okhttp)
  • 代码
  OkHttpClient.Builder builder = new OkHttpClient().newBuilder()               .readTimeout(60, TimeUnit.SECONDS)               .writeTimeout(60, TimeUnit.SECONDS)               .connectTimeout(30, TimeUnit.SECONDS)               .dns(new EngDNS())
class EngDNS implements Dns {        @Override        public List lookup(String hostname) throws UnknownHostException {            if (TextUtils.isEmpty(hostname)) {                return Dns.SYSTEM.lookup(hostname);            } else {                try {                    List inetAddressList = new ArrayList<>();                    InetAddress[] inetAddresses = InetAddress.getAllByName(hostname);                    for (InetAddress inetAddress : inetAddresses) {                        if (inetAddress instanceof Inet4Address) {                            inetAddressList.add(0, inetAddress);                        } else {                            inetAddressList.add(inetAddress);                        }                    }                    return inetAddressList;                } catch (NullPointerException ex) {                    return Dns.SYSTEM.lookup(hostname);                }            }        }    }

更多相关文章

  1. Android(安卓)+ Eclipse + NDK + cygwin配制
  2. Android(安卓)如何在屏幕切换的时候页面信息不被重置
  3. 用VS2010开发Android应用的配置方法
  4. Android(安卓)列表选择框 Spinner详解及实例
  5. HelloWorld-----Google手机操作系统Android应用开发入门
  6. RadioButton 选择框的位置
  7. android背景选择器selector用法、自定义Button按钮样式
  8. android SDK 2.3安装
  9. android环境搭建及改变默认avd路径

随机推荐

  1. Android(安卓)底部弹出Dialog(支付方式选
  2. Android如何在初始化的时候获取加载的布
  3. android event事件录制回放 --2 touch事
  4. android-在代码中实现按下Home键的效果
  5. Ubuntu android adb 使用
  6. 阿里技术精华干货整理
  7. android_5 修改一个textview中的字符串的
  8. 关于 android 的JNI的java 调用 C和 C 调
  9. 自定义按比例显示的ImageView
  10. android design library提供的TabLayout