AndroidフレームのPicassoとGlideの使用と違い

3772 ワード

            Picasso  Gilde
1.1行はImageView Picasso.withを表示します。ロード("http://i.imgur.com/DvpvklR.png「)into(imagew);
Many common pitfalls ofイメージloading on Android are handed atomaticaally by Picasso:
-Handling ImageView recycling and download cancelation in an adapter.
-Complex image transformations with minimal memory use.
-Automatic memory and disk caching.
2.異なる位置のリソースをロードする
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);
Picasso.with(context).load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.with(context).load(new File(...)).into(imageView3);


    
             ,    resize  :

Picasso.with(this).load("http://n.sinaimg.cn/translate/20160819/9BpA-fxvcsrn8627957.jpg")  
                .resize(200,200)  
                .into(iv);  

     200  200px,     resize   dp,        :


Picasso.with(this).load("http://n.sinaimg.cn/translate/20160819/9BpA-fxvcsrn8627957.jpg")  
                .resizeDimen(R.dimen.iv_width,R.dimen.iv_height)  
                .into(iv);  
3.カスタムPicasso
Picasso picasso = new Picasso.Build(Context).build();

 .memoryCache(new LruCache(10*1024*1024)).defaultBitmapConfig(Bitmap.Config.RGB_565)
 .downloader(new OkHttpDownloader(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),10*1024*1024))
 .indicatorsEnabled(true)  //      ,    !
4.Picasso常用属性
config(Bitmap.Config.RGB_565)//    
 .memoryPolicy(MemoryPolicy.NO_CACHE,MemoryPolicy.NO_STORE) //            
 .resize(100,100) .centerInside().placeholder(R.mipmap.ic_launcher).error(R.mipmap.ic_launcher).rotate(40).
 transform(new Transformation() {
 @Override
//public Bitmap transform(/tmap source){/int max=Math.min(source.getHeight()、//Bitmap bitmap=Bitmap.creat Bitmap(source,0,max,max)//source.recycle()//return bitmap;//////@Override//public String key()//return“key”//////////})
Transformation transformation = new Transformation() {  
            @Override  
            public Bitmap transform(Bitmap source) {  
                int width = source.getWidth();  
                int height = source.getHeight();  
                int size = Math.min(width, height);  
                Bitmap blankBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);  
                Canvas canvas = new Canvas(blankBitmap);  
                Paint paint = new Paint();  
                paint.setAntiAlias(true);  
                canvas.drawCircle(size / 2, size / 2, size / 2, paint);  
                paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));  
                canvas.drawBitmap(source, 0, 0, paint);  
                if (source != null && !source.isRecycled()) {  
                    source.recycle();  
                }  
                return blankBitmap;  
            }  

            @Override  
            public String key() {  
                return "squareup";  
            }  
        };  
Picasso    ,   Picasson      !!!

downloader(new OkHttpDownloader(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),10*1024*1024))
Picasso
   : 
                   !    !    ,        


      :
         Picasso           !


     1.         File cache = new File(context.getApplicationContext().getCacheDir(), PICASSO_CACHE);

     2.         ARGB 8888

     picasso    gif

     Picasso.with(Context)


       Picasso 

     Picasso picasso = new Picasso.Builder(this)
     .defaultBitmapConfig(Bitmap.Config.RGB_565)
     .downloader(new OkHttpDownloader(Environment.getExternalStorageDirectory()))
     .build();


       Glide