手记

网络框架参数构建方式优化

RestClient之前的Params参数Map是一个全局的静态变量,后来在和同学们一起优化的过程中,发现单独初始化是更好的,因为不能保证多线程或同时网络请求操作的唯一性,这里加锁反而是一个多余且低效的行为,所以做以下优化

  /**
     * 参数容器
     */
    private static final class ParamsHolder {
        private static final WeakHashMap<String, Object> PARAMS = new WeakHashMap<>();
    }

    public static WeakHashMap<String, Object> getParams() {
        return ParamsHolder.PARAMS;
    }

这段代码注释掉
然后RestClientBuilder 和RxRestClientBuilder在开始分别执行

private final WeakHashMap<String, Object> PARAMS = new WeakHashMap<>();

同时RestClient,DownloadHandler和RxRestClient种构造方法里,params通过参数传递获取

  this.PARAMS = params;

特别感谢细心的@桂 同学

3人推荐
随时随地看视频
慕课网APP

热门评论

为什么我购买了你视频,源码没有,群也没有?

昨天就遇到这个坑了,还想再群里给你提的,哈哈,现在不用了,已解决

查看全部评论