AsyncTask非同步任务,或称异步任务,是一个相当常用的类别,是专门用来处理背景任务与UI的类别。
主执行绪又称UI执行绪(UI Thread),任何有关UI的东西都在主执行绪中执行,若是你的程序占据主执行绪很久,使用者体验会非常的差,或者会直接崩溃关闭
进行网路下载或其他活动时 不允许使用UI主执行绪
值得一提的是
此类在 API 级别 30 中已弃用。
请改用标准java.util.concurrent
关於concurrent有时间再来专门写一篇
最常见的AsyncTask 就是载入网路上的图片URL 设定为你的Image图片
基础架构
//载入档案任务类别 继承了AsyncTask
//其中三个参数分别是 1.传入参数种类 2.回传进度 3.回传资料
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView mImageView;
//建构式
public DownloadImageTask(ImageView bmImage) {
this.mImageView = bmImage;
}
//背景执行中的方法 取得URL图片并转为Bitmap 也就是BMP点阵图
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
//执行後 处理动作 这边算是主UI线程了
protected void onPostExecute(Bitmap bmp) {
mImageView.setImageBitmap(bmp);
}
}
执行方法
new DownloadImageTask().execute(url1, url2, url3);
>>: Day10 职训(机器学习与资料分析工程师培训班): 专题讨论
昨天介绍了velero的概念,今天来配置一套velero出来看看吧。 配置velero非常的简单,只...
Hi 这里是小将,这次铁人赛拖了一阵子才终於参赛了,老样子,还是没囤稿,就来看看这三十天究竟能玩出甚...
Hello rookie! 在经过昨天安装完环境後,相信大家已经迫不及待要写第一支程序了吧。 相信大...
出於书本 Chapter 8. Network Infrastructure SNMP 扫描 什麽是...
-波特的价值链(Porter’s Value Chain) 业务就是提供产品和服务以创造价值并实现...