继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

傅猿猿
关注TA
已关注
手记 5
粉丝 1.7万
获赞 232

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;

特别感谢细心的@桂 同学

打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP

热门评论

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

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

查看全部评论