原因

  • 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学习进阶路线导航线路(Android源码分享)
  2. android沉浸状态栏实现、地图多线路规划、Retrofit+RxJava+Jsoup
  3. 直播源码Android实现 曲线路径动画
  4. 在iis上运行的服务器端程序,运行一段时间后,访问都只出现一行乱码,
  5. 183条地铁线路,3034个地铁站,发现中国地铁名字的秘密。
  6. 来自Kenneth Reitz大神的建议:避免不必要的面向对象编程
  7. 阿里大神的刷题笔记.PDF
  8. 不会时间序列预测?不要紧,大神来教你
  9. 数据分析框架和任务拆解?看看大神怎么做!

随机推荐

  1. android studio for android learning (九
  2. Android之SlidingDrawer抽屉效果
  3. Android(安卓)TV Audio基本框架及启动流
  4. Android异步加载图像小结
  5. [android]android自动化测试八之让你的AV
  6. Android异步处理系列文章
  7. Android(安卓)开发中 Parcel存储类型和数
  8. Android图形选择 - Selector
  9. android的binder机制
  10. 【Android】Android(安卓)监听apk安装替