上一次写了一篇关于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) {
}
}