Android实现异步的几种方式——从简单的加载图片说起

本文介绍了Android开发中实现异步加载图片的五种方法:Thread结合Handler、AsyncTask、RxJava以及Kotlin协程。通过代码示例展示了每种方式的使用,强调了它们的优缺点,推荐使用RxJava和Kotlin协程以优化性能和代码质量。
摘要由CSDN通过智能技术生成

异步,在安卓开发中简直是再熟悉不过了。

说到异步,脑海中立马浮现的就是多线程开发,Thread、Handler啥的一一涌上心头…

我们知道在Android开发中不能在非UI线程中更新UI,但是,有的时候我们需要在代码中执行一些诸如访问网络、查询数据库等耗时操作,为了不阻塞UI线程,我们时常会开启一个新的线程(工作线程)来执行这些耗时操作,然后我们可能需要将查询到的数据渲染到UI组件上,那么这个时候我们就需要考虑异步更新UI的问题了。

今天我们从一个简单的业务需求,给大家介绍几种实现异步的方式,最后两个简直爽到不行。

业务是这样的:需要根据文件地址,加载本地图片,最后在ImageView上显示。当然了,从文件中加载图片,是一个耗时操作,必须在子线程中执行,ImageView显示图片呢,又属于UI操作,需要回到主线程。接下来列举几种实现方式:

Thread+Handler

使用Thread+Handler是最传统的实现异步方式了,看下代码:

        new Thread(new Runnable() {
            @Override
            public void run() {
                Bitmap bitmap = getBitmapFromFile(PATH);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                   
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值