我想下载下面的图像下载代码与毕加索图像缓存。
DownloadImage downloadImage = new DownloadImage();
downloadImage.execute(advert.getImgUrl());
private class DownloadImage extends AsyncTask<String, Void, Bitmap> {
@Override
protected Bitmap doInBackground(String... arg) {
Bitmap bmp = null;
try {
URL url = new URL(arg[0]);
bmp = BitmapFactory.decodeStream(url.openConnection()
.getInputStream());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
return null;
}
return bmp;
}
@Override
protected void onPostExecute(Bitmap result) {
if (result == null) {
Intent intent = new Intent(AdvertisingActivity.this,
AdvertisingErrorActivity.class);
intent.putExtra("ad-error", "Error downloading image");
}
adImg.setImageBitmap(result);
super.onPostExecute(result);
}
}我对此有几个问题。
Picasso.with(getActivity()).load(url);,这就完成了吗?Picasso.with(getActivity()).load(url);,是否会在下载映像之后加载缓存的映像以供后续调用?发布于 2014-03-08 15:48:53
我已经对你的问题做了更多的研究,并决定我应该把它作为回答而不是评论。
Picasso.with(this).load("image1");,然后调用Activity2中的同一个URL。图像将被缓存(无论是在内存中还是在设备存储中),而毕加索将重用它,而不是再次下载它。Picasso.with(context) .load(url) .placeholder(R.drawable.user_placeholder) .error(R.drawable.user_placeholder_error) .into(imageView);
在尝试从web获取图像时,将显示“占位符”;例如,如果URL无效或没有Internet连接,则会显示“错误”图像。
最新情况,17/03/2014:
Picasso支持使用回调来报告故障。修改通常的调用(例如,上面的示例)如下:
.into(imageView,新回调(){@重载公共空onSuccess() { // TODO自动生成的方法存根} @Override void onError() { // TODO自动生成的方法存根}));总之,毕加索对你来说是个很好的图书馆选择。它确实使图像下载非常快速和非常容易,所以我非常喜欢它。
https://stackoverflow.com/questions/22251748
复制相似问题