从网络上获取图片是一个比较耗时的操作,放在主线程会导致阻塞主线程,响应超时,所以我们不能把它放在主线程里操作,必须放在一个子线程里,我打算采用两种方式去实现。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方式相关推荐

  1. Android从网络上获取图片的两种方式

    1,获得图片的bitmap格式 参见以前写的,这种方式是使用Url连接,位图工厂直接从连接解析 package cn.com.hh.http;import java.io.IOException; i ...

  2. android camera工程师,Android从Camera中获取图片的两种方法

    方法一: 此方法会由Camera直接产生照片回传给应用程序,但是返回的是压缩图片,显示不清晰 /**   启动Camera */ private void intentCamera(){ try { ...

  3. 从网络上下载文件的两种方式

    Delphi 编程,从网络上下载文件,我一般用 UrlDownloadToFile API函数,简单,实用. function DownloadFile(const strURL, strDownFi ...

  4. Fragment 与 Viewpager 联合使用在网络上获取图片

    -------------------------Viewpager布局---------------------------------------------------------------- ...

  5. ios通过URL地址,从网络上获取图片

    -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIImage * result; N ...

  6. Android Drawable来加载网络上的图片

    Drawable类中提供了一个静态方法可以直接添加网络上的图片 Drawable.createFromStream( new URL(img_str_url).openStream(),"s ...

  7. Android通过网络URL获取图片并显示

    1.布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:to ...

  8. 使用异步任务加载网络上的图片

    我们知道,如果要加载一个很耗时的操作,会阻塞主线程,这时我们可以想到开启一个新的线程,避免阻塞,在android中也有这样的问题,我们可以用异步任务来操作,异步任务也是开启一个线程,线程里面发一个消息 ...

  9. (原创)使用AsyncTask(带修改线程池方式)+自定义ImageLoader+LRU算法对图片三级缓存及其显示优化(只有在ListView滑动停止的时候才去网络请求获取图片数据)

    前言: 以前看了些关于图片优化处理缓存比较全的视频(感谢慕风网),现在回顾觉得还是挺好的也就总结出来下,感觉针对图片做处理这块还真的用的比较多,本文章只要使用异步线程AsyncTask.自定义的Ima ...

最新文章

  1. c语言 2D-FFT(fft2)及IFFT
  2. UBUNTU安装 Rabbitvsc可视化版本控制客户端软件
  3. 索引创建以及优化_1
  4. [渝粤教育] 西安理工大学 人工智能导论 参考 资料
  5. careyshop-商城框架系统
  6. webpack4.0各个击破(10)—— Integration篇
  7. Pandas to_string
  8. Java基础——Oracle(二)
  9. 电脑调整分区后盘符丢失的资料怎样找到
  10. 【读书笔记《Android游戏编程之从零开始》】11.游戏开发基础(SurfaceView 游戏框架、View 和 SurfaceView 的区别)...
  11. wordpress 通过域名无法访问_关于在宝塔面板的基础上搭建Wordpress个人博客的教程...
  12. 怎么在Mac上格式化USB驱动器
  13. JAVA-上转型对象,下转型对象
  14. mysql 同义词_数据库中的同义词synonym
  15. Arcgis土地利用转移矩阵制作
  16. cdr三角形转化为圆角,CDR实现圆角多边形的三种方法
  17. 智慧工地具有哪些社会意义?
  18. Visual C++ 新增功能(2003 - 2015)
  19. 在 Docker 上搭建 PostGIS 数据库实现空间数据存储及可视化
  20. Win10休眠文件更改存储位置

热门文章

  1. 为WPF播放GIF伤神不?
  2. OpenTelemetry - 云原生下可观测性的新标准
  3. 临近年关,发生两起磁盘占满引发的服务下线故障
  4. 海棠读社小程序研发(.Net Core版)
  5. 遍历 Dictionary,你会几种方式?
  6. SilkierQuartz 1.0.21 发布, 是一个 Quartz.NET 的强大且简单的Web管理工具和承载组件...
  7. [号外] Blazor wasm 其实也挺快!
  8. 在 WSL2.0 的 Ubuntu 18 里使用 Docker
  9. .NetCore中三种注入生命周期的思考
  10. 微软云Azure训练营 | 八城联动,全球盛会