Android Volley组件的优化

来源:互联网 发布:java io流总结 编辑:程序博客网 时间:2024/05/29 17:53

volley组件是Android的访问网络的框架,使用方便快捷。
此篇文章简单优化平常开发中使用到的volley框架。因为每次刷新或者每次重新连接网络时都需要加载一个volley,这将造成资源浪费,而手机资源是非常有限的,为了避免这种重复加载,可以采取对volley的单例模式,即一个activity只拥有一个volley。
单例模式其实就是一个类只对外提供一个公共的访问私有构造的方法。

直接上代码:

import android.content.Context;import com.android.volley.Request;import com.android.volley.RequestQueue;import com.android.volley.toolbox.ImageLoader;import com.android.volley.toolbox.Volley;/** * Created by Administrator on 2016/5/6. */public class MyVolleyQ {    //私有化属性    private static MyVolleyQ singleQueue;    private RequestQueue requestQueue;    private ImageLoader imageLoader;    private static Context context;    private MyVolleyQ(Context context){        this.context = context;        requestQueue = getRequestQueue();    }    private RequestQueue getRequestQueue(){        if (requestQueue==null){            requestQueue = Volley.newRequestQueue(context);        }        return requestQueue;    }    //synchronized,防止并发,保证线程安全    public static synchronized MyVolleyQ getSingleQueue(Context context){        if (singleQueue==null){            singleQueue = new MyVolleyQ(context);        }        return singleQueue;    }    public <T> void addToRequestQueue(Request<T> req) {        //防止回收而出现空指针异常        getRequestQueue().add(req);    }}

activity中使用:

//初始化,传入请求MyVolleyQ.getSingleQueue(this).addToRequestQueue(stringRequest);
0 0
原创粉丝点击