异步下载图片

原创 2013年12月05日 14:17:34

          新建了一个Activity,里面有一张网络图片,每次进入activity时都必须先把图片下完才显示整个activity。

           这个问题只有用异步下载咯,先进activity,再下载网络图片。



   //   异步下载  需要先继承AsyncTask接口,第一个参数是执行路径,第二个是进度,第三个是返回值
public class Mytask extends AsyncTask<String, Void, Bitmap> {


// 可以在这里执行耗时操作
protected Bitmap doInBackground(String... params) {
// 实例化网络客户端对象
HttpClient httpClient = new DefaultHttpClient();
// 实例化请求对象,并且取出参数列表中的参数
HttpGet httpGet = new HttpGet(params[0]);
Bitmap bitmap = null;
try {
// 发送请求
HttpResponse httpResponse = httpClient.execute(httpGet);
// 判断返回状态,并接收图片
if (httpResponse.getStatusLine().getStatusCode() == 200) {
HttpEntity httpEntity = httpResponse.getEntity();
byte[] data = EntityUtils.toByteArray(httpEntity);
bitmap = BitmapFactory
.decodeByteArray(data, 0, data.length);


}
} catch (ClientProtocolException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return bitmap;
}


// 表示任务执行之前的操作
protected void onPreExecute() {
// TODO 自动生成的方法存根
super.onPreExecute();
}


@Override
// 在这个方法里进行更新UI操作
protected void onPostExecute(Bitmap result) {
// TODO 自动生成的方法存根
super.onPostExecute(result);
// 给图片控件设置下载的图片
userPicImageView.setImageBitmap(result);
}


}


调用    new Mytask().execute(getPcAdress()+regPicString);




android ImageView 异步下载显示图片

在大多数的网络应用程序开发中,都需要从网络中下载图片,并显示图片,如QQ列表头像、微博列表头像等,第一种方法是将列表中的所有图片下载下来在显示,这种方法虽然可行,但在网络环境很差的情况下,下载时间比较...
  • XSL1990
  • XSL1990
  • 2014年01月15日 11:10
  • 5007

基于iOS 使用GCD实现列表界面的图片异步下载

GCD 是Grand Central Dispatch 的简称,这是对多核编程的较新的解决方案,主要用于优化应用程序来支持多核处理器以及其他对称系统。     GCD提供了一种很简单的操作方式来实现并...
  • llyouss
  • llyouss
  • 2015年06月01日 16:10
  • 1333

Android异步下载图片并且缓存图片到本地

在Android开发中我们经常有这样的需求,从服务器上下载xml或者JSON类型的数据,其中包括一些图片资源,本demo模拟了这个需求,从网络上加载XML资源,其中包括图片,我们要做的解析XML里面的...
  • lq18111292117
  • lq18111292117
  • 2016年10月28日 11:29
  • 368

Http 异步批量下载图片之优化

// task.execute(imageUrl);//启动单线程 ,就是图片按顺序一张一张的下载, //  task.executeOnExecutor(mExec, imageUrl);// 启动...
  • huanglei201502
  • huanglei201502
  • 2015年08月12日 18:42
  • 675

iOS-UIImageView加载网络下载的图片(异步+多线程)

最原始的加载网络下载的图片方式://最原始加载网络图片方法,相当阻塞主线程,界面卡顿 -(void)setImageWithURL:(NSString *)imageDownloadUrl{ ...
  • qiuxuewei2012
  • qiuxuewei2012
  • 2016年03月14日 11:30
  • 4363

异步操作AsyncTask(二)从网络下载图片(带下载进度数据)

package com.example.asyntaskproject; import java.io.ByteArrayOutputStream; import java.io.IOExcepti...
  • u011731233
  • u011731233
  • 2015年01月28日 15:38
  • 979

异步加载网络图片(多线程,和AsyncTask)

下面实现一个异步加载网络图片的例子,加载的图片使用ListIView显示出来 异步加载图片有两种方式,多线程,和AsyncTask,其实大家都知道AsyncTask底层也是多线程来实现的 第一步。...
  • wei_chong_chong
  • wei_chong_chong
  • 2016年03月13日 21:27
  • 840

Android开发之ListView异步加载图片

坚持一件对自己有意义的事。。。
  • dmk877
  • dmk877
  • 2015年10月27日 22:29
  • 4647

使用Android新式LruCache缓存图片,基于线程池异步加载图片

import java.io.BufferedInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStream...
  • zhangphil
  • zhangphil
  • 2015年03月05日 14:35
  • 1376

iOS学习笔记46——图片异步加载之SDWebImage

在开发中经常会遇到列表加载的功能,其中大部分都包括图片列表加载,但移动设备本身内存有限,而大量图片加载又很耗内存。今天主要就介绍一个第三方图片异步加载库SDWebImage,Github地址为:htt...
  • tangren03
  • tangren03
  • 2013年07月07日 14:43
  • 29246
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:异步下载图片
举报原因:
原因补充:

(最多只允许输入30个字)