如果要在第一个加载图片的例子中取消线程,应该怎么做呢?
如果要在第一个加载图片的例子中取消线程,应该怎么做呢?怎么试都没成功。。。
如果要在第一个加载图片的例子中取消线程,应该怎么做呢?怎么试都没成功。。。
2016-05-30
@Override
protected Bitmap doInBackground(String... params) {
// 获取传递进来的参数: 因为只传进一张图片,所以只用取出数组params的第0位内容
String url = params[0];
Bitmap bitmap = null;
URLConnection connection;// 定义网络连接对象
InputStream is;// 用于获取数据的输入流对象
// 将URL解析成bitmap对象(此为耗时操作,所以在doInBackground中)
try {
// 将url传进去,获取网络连接对象
connection = new URL(url).openConnection();
// 获取输入流接对象
is = connection.getInputStream();
// 将输入流is放到缓存器中
BufferedInputStream bis = new BufferedInputStream(is);
Thread.sleep(9000);// 人为阻碍加载
// 一旦监测到cancel,则立即返回
if (isCancelled()) {
Log.v("ang", "杀死");
return null;// !!!!!!!!!!!!!!!!!!!
}
Log.v("ang", "没有跳过");
// 将bis传入,通过decodeStream把输入流解析成bitmap
bitmap = BitmapFactory.decodeStream(bis);
// 关闭输入流
is.close();
bis.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;// 返回的是解析得到的bitmap对象
}举报