Android 异步处理方式简述

 异步处理对于Android 开发来说是一个很重要的组成部分,不管是请求服务器,还是其它耗时工作都要用到异步处理的方式,用好它可以让程序运行更加流畅,我就目前项目使用的以及其它相关资料总结一下都有哪些方式,后续持续更新,以后再用到时可以择优使用,并对比优缺点,写出一些自己的心得。

首先总结一下有哪些场景需要用到异步处理:
1.请求服务器获取数据后更新UI的场景

2.连续下载多个文件后更新进度显示的场景

3.批量下载大量图片或者文件的场景

1. Thread +handler 的方式,适合用在场景1

2.AsyncTask 这种方式本身封装了一些进度控制的方法,适合用在场景2,当然场景1也可以用

3.ExecutorService+handler 方式适合第三种场景可以复用线程,线程开销很大大家都知道,所以大量下载需要用到这种,而且方便的控制线程结束

4.比较优秀的开源框架有RxJava和RxAndroid,即使在复杂的异步处理,也能让逻辑很清晰

其实有时候最难得还是线程的控制,每一个任务都处理的很得当

5.RxJava要比EventBus的应用更广泛,EventBus仅仅是作为一种消息的传递工具,但是RxJava里面几乎可以做任何事情。

如果是Android开发的话,可以使用RxAndroid,这是对RxJava的一个扩展,结合sqare公司的retrofit可以很轻松的完成网络的访问。

我们知道,在Android中异步操作一般使用AsycTask来完成,但是AsycTask有很多缺点,如不能方便的终止任务的执行等。

RxAndroid完全可以替代AsycTask来完成各种异步操作,而且还有BindActivity和BindFragment方法,你根本不需要考虑异步操作时的Activity和Fragment的生命周期问题,还有更加强大的的链式调用,可以使程序很简洁。

以上,推荐使用RxAndroid


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值