XUtils3.0 解决不缓存问题

本文介绍了XUtils3.0中遇到的不缓存问题及其解决方案。针对未设置缓存和接口返回头expires设置错误的情况,提出了通过setCacheMaxAge()设置缓存时间和在responseParser中手动缓存的方法。
摘要由CSDN通过智能技术生成

XUtils3.0 解决不缓存问题

xutils3.0是一次彻底的重构, api发生了很大变化, 但是仍然保持着xUtils一贯的简介风格, 并且新的api更加简单, 更具扩展性。参考sample写的案例发现不走缓存(onCache)。原因可能为以下两种:

1. 未设置缓存
2. 接口返回头expires设置过期时间为过去时间(即不缓存)


1. 未设置缓存

通过调用 setCacheMaxAge()设置缓存时间,单位毫秒

BaiduParams params = new BaiduParams();
        params.wd = "xUtils";
        // 默认缓存存活时间, 单位:毫秒.(如果服务没有返回有效的max-age或Expires)
        params.setCacheMaxAge(1000 * 60);
        Callback.Cancelable cancelable
                // 使用CacheCallback, xUtils将为该请求缓存数据.
                = x.http().get(params, new Callback.CacheCallback<String>() {

            private boolean hasError = false;
            private String result = null;

            @Override
            public boolean onCache(String result) {
                // 得到缓存数据, 缓存过期后不会进入这个方法.
          
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值