Android之从网络上获取图片的两种方式讲解:thread+handle和AsyncTask方式
从网络上获取图片是一个比较耗时的操作,放在主线程会导致阻塞主线程,响应超时,所以我们不能把它放在主线程里操作,必须放在一个子线程里,我打算采用两种方式去实现。1、采用thread去获取图片,获取到后通过handle把消息发送到与主线程绑定的消息队列中(也就是主线程的loop)。2、采用AsyncTask方式,也称异步任务,这个类其实把子线程和handle的处理方式进行了封装,建议开发者多用异步任务来处理,但是对thread和handle的原理一定要搞清楚。
效果图如下:
public class MainActivity extends Activity {private Button button;private ImageView imageView;private ProgressBar progressBar;private MyHandle handle;private final static int CODE =1;private final static String URL = "http://pic10.nipic.com/20101016/5311590_15242800
Android之从网络上获取图片的两种方式讲解:thread+handle和AsyncTask方式相关推荐
- Android从网络上获取图片的两种方式
1,获得图片的bitmap格式 参见以前写的,这种方式是使用Url连接,位图工厂直接从连接解析 package cn.com.hh.http;import java.io.IOException; i ...
- android camera工程师,Android从Camera中获取图片的两种方法
方法一: 此方法会由Camera直接产生照片回传给应用程序,但是返回的是压缩图片,显示不清晰 /** 启动Camera */ private void intentCamera(){ try { ...
- 从网络上下载文件的两种方式
Delphi 编程,从网络上下载文件,我一般用 UrlDownloadToFile API函数,简单,实用. function DownloadFile(const strURL, strDownFi ...
- Fragment 与 Viewpager 联合使用在网络上获取图片
-------------------------Viewpager布局---------------------------------------------------------------- ...
- ios通过URL地址,从网络上获取图片
-(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIImage * result; N ...
- Android Drawable来加载网络上的图片
Drawable类中提供了一个静态方法可以直接添加网络上的图片 Drawable.createFromStream( new URL(img_str_url).openStream(),"s ...
- Android通过网络URL获取图片并显示
1.布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:to ...
- 使用异步任务加载网络上的图片
我们知道,如果要加载一个很耗时的操作,会阻塞主线程,这时我们可以想到开启一个新的线程,避免阻塞,在android中也有这样的问题,我们可以用异步任务来操作,异步任务也是开启一个线程,线程里面发一个消息 ...
- (原创)使用AsyncTask(带修改线程池方式)+自定义ImageLoader+LRU算法对图片三级缓存及其显示优化(只有在ListView滑动停止的时候才去网络请求获取图片数据)
前言: 以前看了些关于图片优化处理缓存比较全的视频(感谢慕风网),现在回顾觉得还是挺好的也就总结出来下,感觉针对图片做处理这块还真的用的比较多,本文章只要使用异步线程AsyncTask.自定义的Ima ...
最新文章
- c语言 2D-FFT(fft2)及IFFT
- UBUNTU安装 Rabbitvsc可视化版本控制客户端软件
- 索引创建以及优化_1
- [渝粤教育] 西安理工大学 人工智能导论 参考 资料
- careyshop-商城框架系统
- webpack4.0各个击破(10)—— Integration篇
- Pandas to_string
- Java基础——Oracle(二)
- 电脑调整分区后盘符丢失的资料怎样找到
- 【读书笔记《Android游戏编程之从零开始》】11.游戏开发基础(SurfaceView 游戏框架、View 和 SurfaceView 的区别)...
- wordpress 通过域名无法访问_关于在宝塔面板的基础上搭建Wordpress个人博客的教程...
- 怎么在Mac上格式化USB驱动器
- JAVA-上转型对象,下转型对象
- mysql 同义词_数据库中的同义词synonym
- Arcgis土地利用转移矩阵制作
- cdr三角形转化为圆角,CDR实现圆角多边形的三种方法
- 智慧工地具有哪些社会意义?
- Visual C++ 新增功能(2003 - 2015)
- 在 Docker 上搭建 PostGIS 数据库实现空间数据存储及可视化
- Win10休眠文件更改存储位置
热门文章
- 为WPF播放GIF伤神不?
- OpenTelemetry - 云原生下可观测性的新标准
- 临近年关,发生两起磁盘占满引发的服务下线故障
- 海棠读社小程序研发(.Net Core版)
- 遍历 Dictionary,你会几种方式?
- SilkierQuartz 1.0.21 发布, 是一个 Quartz.NET 的强大且简单的Web管理工具和承载组件...
- [号外] Blazor wasm 其实也挺快!
- 在 WSL2.0 的 Ubuntu 18 里使用 Docker
- .NetCore中三种注入生命周期的思考
- 微软云Azure训练营 | 八城联动,全球盛会