用Picasso加载位图

时间:2014-04-30 09:44:44

标签: android bitmap picasso

我使用Picasso库在viewpager中加载图片,但是我需要加载一个位图而Picasso只接受File变量。如何使用Picasso加载位图文件?

Bitmap imagescompress = decodeSampledBitmapFromResource(getResources(), AnohanaAdapter.imagep[position], 100, 100);

如果我把imagecompress放在Picasso的加载函数中,我发现了这个错误: 无法解析方法' load(android.graphics.Bitmap)'。

实际上对于加载图像,我使用下面的代码:

Picasso.with(VistaSingola.this).load(AnohanaAdapter.imagep[i]).placeholder(R.drawable.ic_launcher).error(R.drawable.error).fit().into(imageViewTouch);

但图像很大,我不想进入OutOfMemory。 有人可以帮帮我吗?请。

谢谢大家的帮助

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码执行此操作

private Target target = new Target() {
      @Override
      public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 
        //TODO: Store bitmap in global vaiable
      }
      @Override
      public void onBitmapFailed() {
      }
}

private void loadBitmap(String url) {
   Picasso.with(this).load(url).into(target);
}

@Override 
public void onDestroy() {  // could be in onPause or onStop
   Picasso.with(this).cancelRequest(target);
   super.onDestroy();
}