picasso glide 图片加载并缓存的框架使用

上一次写了一篇关于volley的使用 这次使用一下picasso和glide

对于图片加载来说这两个框架都很方便 也就十一局代码的事情


package com.softpo.imageloader;


import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;


import com.bumptech.glide.Glide;
import com.squareup.picasso.Picasso;


public class MainActivity extends AppCompatActivity {


//    private OkHttpClient;
    private ImageView mImageView;
    private String url;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mImageView = (ImageView) findViewById(R.id.image);
    }


    public void imageLoader(View view) {
        switch (view.getId()){
            case R.id.picasso:
                url = "http://www.mengtu.cc/uploads/allimg/151226/1-1512261ZU1.jpg";
                Picasso.with(this).load(url).into(mImageView);
                break;
            case R.id.glide:
//                url = "http://pic15.nipic.com/20110617/2707401_222720447000_2.jpg";
                url = "http://g.hiphotos.baidu.com/image/h%3D200/sign=bf7ead2a2e7f9e2f6f351a082f32e962/d8f9d72a6059252dcadf02c83d9b033b5ab5b935.jpg";
                Glide.with(this).load(url)
                        .asGif()
                        .error(R.mipmap.ic_launcher)//加载失败
                        .placeholder(new ColorDrawable(Color.YELLOW))//占位图片
                        .into(mImageView);
                break;
        }
    }
}


下面是对  picasso的一些初始化操作 

package com.softpo.imageloader;


import android.app.Application;
import android.graphics.Bitmap;


import com.bumptech.glide.Glide;
import com.bumptech.glide.GlideBuilder;
import com.squareup.picasso.LruCache;
import com.squareup.picasso.OkHttpDownloader;
import com.squareup.picasso.Picasso;


/**
 * Created by softpo on 2017/4/24.
 * Email: likaiyuan.cool@163.com
 */


public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        initPicasso();


//        initGlide();
    }


    private void initGlide() {
        GlideBuilder glideBuilder = new GlideBuilder(this);


//        glideBuilder.


        Glide.setup(glideBuilder);
    }


    private void initPicasso() {


        Picasso.Builder builder = new Picasso.Builder(this);


        builder.memoryCache(new LruCache(this));//内存缓存
        //磁盘缓存
        builder.downloader(new OkHttpDownloader(this.getExternalFilesDir("picasso"),200<<20));


        builder.defaultBitmapConfig(Bitmap.Config.RGB_565);//节省内存
        Picasso picasso = builder.build();


        Picasso.setSingletonInstance(picasso);
    }
}





对glide的初始胡操作

package com.softpo.imageloader;


import android.content.Context;
import android.util.Log;


import com.bumptech.glide.Glide;
import com.bumptech.glide.GlideBuilder;
import com.bumptech.glide.load.DecodeFormat;
import com.bumptech.glide.load.engine.cache.DiskLruCacheFactory;
import com.bumptech.glide.load.engine.cache.LruResourceCache;
import com.bumptech.glide.module.GlideModule;


/**
 * Created by softpo on 2017/4/24.
 * Email: likaiyuan.cool@163.com
 */


public class MyGlideModule implements GlideModule {
    @Override
    public void applyOptions(Context context, GlideBuilder builder) {
        Log.d("flag", "----------------->applyOptions: HelloWorld");
        builder.setDecodeFormat(DecodeFormat.PREFER_RGB_565);
        builder.setMemoryCache(new LruResourceCache((int) (Runtime.getRuntime().maxMemory()/8)));
        builder.setDiskCache(new DiskLruCacheFactory(context.getExternalFilesDir("glide").getAbsolutePath(),100<<20));
    }


    @Override
    public void registerComponents(Context context, Glide glide) {


    }
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值