pre-network 网络预加载框架,android网络优化

前言

现在android网络优化方案非常多,例如针对连接管理和缓存的优化方案,例如:okhttp,针对数据传输数据压缩的优化方案,例如:protobuf;今天介绍一个通过修改调用方式优化的方案:网络预加载框架- pre-network。

项目地址:https://github.com/woshiliyihang/pre-network

项目介绍

pre-network是一款android网络框架,更加准确的说法是观察者模式预处理器;它主要的特点是预处理网络加载,设计思想是使用观察者模式的订阅式网络框架。

软件架构

基于观察者模式的设计,每个网络请求相当于一个被观察者,每个使用这个网络请求地方只需要添加观察者,就可以获取网络请求数据,每个网络请求必须是唯一的,可以添加多个观察者。

安装教程
  1. 引用依赖
implementation 'com.liyihang:pre-network:1.3.0'
使用说明
  1. 发起网络请求
    dome当中MainActivity点击跳页按钮打开新activity时候首先执行网络请求,然后执行跳转。
        Map<String, String> headers=new HashMap<>();
        headers.put("headerInfo", "test");
        //第一个参数 是标识网络请求的唯一id,第二个参数是url, 第三个参数是请求参数,第四个参数是请求头部,第五个参数是请求方式。
        PreNetworkHelper.getInstance().addRequestObservable(new PNQuickRequest(url_id_only, "https://blog.csdn.net/mhhyoucom/","name=liyihang&age=18", headers, "GET"));

addRequestObservable 是简单封装唯一网络请求,可以根据项目请求使用自己的网络框架。这样网路请求将立即执行。

  1. 订阅这个网络请求
    dome中的OtherActivity就是要订阅这个网络请求。使用下面代码订阅:
        PreNetworkHelper.getInstance().addObserver(new UpdateUI(this));

UpdateUI 就是订阅者;

public class UpdateUI extends PNBaseObserver {

    private WeakReference<OtherActivity> activity;

    public UpdateUI(OtherActivity activity) {
        this.activity = new WeakReference<>(activity);
    }

    @Override
    public void pre() {//订阅回调开始
        // 删除网络请求被观察者,如果不删除一直保存在内存中
        PreNetworkHelper.getInstance().removeRequestObservable(MainActivity.url_id_only);
    }

    @Override
    public void result(String res) {//网络请求成功处理函数
        if (activity.get()==null)
            return;
        activity.get().sendStateSelf(PNBaseActivity.getMsgObj(10, res));
    }

    @Override
    public void error(String err) {//网络请求失败处理函数
        Toast.makeText(activity.get(), err, Toast.LENGTH_LONG).show();
    }

    @Override
    public void end() {// 订阅回调结束

    }

    @Override
    public String getId() {
        return MainActivity.url_id_only;//要订阅的网络请求唯一id
    }
}

所有回调都在UI线程中。

参与贡献
  1. 李一航
邮箱反馈

邮箱:mhh.you@hotmail.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值