RxAndroid线程调度器(五)
来源:互联网 发布:移动数据被禁用怎么开 编辑:程序博客网 时间:2024/06/07 23:45
RxAndroid线程调度器: 用于线程的控制,做线程间的通讯
* subscribeOn 可执行多次, 切换操作符的线程- Schedulers.immediate() 默认线程- Schedulers.newThread() 每次都创建新的线程执行- Schedulers.io() 包含线程池的机制, 线程个数无限, 可以复用空闲线程(常用)- Schedulers.computation() CPU密集计算线程, 线程池线程数和CPU数一致.处理图形运算- AndroidSchedulers.mainThread() Android更新界面的UI主线程(常用)
* observeOn 只需要执行一次, 指定订阅者执行的线程
//注意:这里用到了SD卡,记得加一下权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>Observable.just(Environment.getExternalStorageDirectory().getAbsolutePath() +"/shuaige.jpg")//加载的是字符串,转换为Bitmp对象.map(new Func1<String, Bitmap>() {@Overridepublic Bitmap call(String s) {//打印线程所在名称String Threadname = Thread.currentThread().getName();System.out.println("Func1的call所在线程名称 : "+ Threadname);Bitmap bitmap = BitmapFactory.decodeFile(s);return bitmap;}})//该方法决定了Func1的call方法(被观察者执行逻辑)运行在哪个线程// IO:线程名称RxIoScheduler-2(子线程,内部用到了一个线程池).subscribeOn(Schedulers.io()).subscribeOn(Schedulers.io())//可以执行多次,对不同数据,在不同的线程中调用//该方法决定了 Action1的call方法(观察者执行逻辑)运行在哪个线程 mainThread:主线程.observeOn(AndroidSchedulers.mainThread())//只能执行一次,多次调用,以第一次为基准.subscribe(new Action1<Bitmap>() {@Overridepublic void call(Bitmap bitmap) {//打印线程所在名称String Threadname = Thread.currentThread().getName();System.out.println("Action1的call所在线程名称 : "+ Threadname);ImageView.setImageBitmap(bitmap);}});
阅读全文
0 0
- RxAndroid线程调度器(五)
- RxJava 和 RxAndroid 五(线程调度)
- RxJava 和 RxAndroid 五(线程调度)
- RxJava 和 RxAndroid 五(线程调度)
- RxJava 和 RxAndroid 五(线程调度)
- RxJava 和 RxAndroid 五(线程调度)
- RxJava 和 RxAndroid 五(线程调度)
- RxJava 和 RxAndroid 五(线程调度)
- RxJava 和 RxAndroid 五(线程调度)
- rxjava + rxandroid 调度器
- RxAndroid从零开始学之三(线程调度)
- OpenMP(五)线程的调度优化
- 多线程学习(五)线程的调度-休眠&优先级
- RxJava(RxAndroid)线程切换机制
- DSP/BIOS程序开发五:线程调度
- RT-Thread内核之线程调度(五)
- Rx 入门(五)-- 调度器
- [Android 知识点] RxAndroid的使用(五)(待更新)
- 十 项目1(3)
- [DeeplearningAI笔记]ML strategy_2_2训练和开发/测试数据集不匹配问题
- 顺序容器操作
- 数字三角形
- Protobuf 在Ubuntu 14.04上的编译与使用
- RxAndroid线程调度器(五)
- C语言快速排序算法及三种优化方式
- 简单计算器
- POJ 2001 Shortest Prefixes
- Java并发编程:如何创建线程?
- Android Service生命周期,本地服务远程服务,前台服务后台服务,启动方式,与IntentService区别全面解析
- eclipse中jd反编译安装
- tensorflow学习二
- Linux指令合集