上一篇我们实现了,操作符Map功能。本篇实现线程切换操作符subscribeOn及observeOn。 创建抽象执行Runnable的Schedule 创建主线程及子线程执行...
![240](https://cdn2.jianshu.io/assets/default_avatar/10-e691107df16746d4a9f3fe9496fd1848.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
上一篇我们实现了,操作符Map功能。本篇实现线程切换操作符subscribeOn及observeOn。 创建抽象执行Runnable的Schedule 创建主线程及子线程执行...
上一篇我们实现了,观察订阅及发布功能。本篇实现操作符Map。 创建一个用于数据转换接口 基于装饰者模式,我们抽象出观察者及被观察者装饰者接口 实现装饰者类,传入了被装饰者对象...
首先创建原始被观察者及观察者接口 创建抽象的被观察者 创建数据发送者接口 创建数据发送者与被观察者建立联系的接口 创建被观察者实现类及数据发送者实现类 这样我们就完整创建出了...
获取getSharedPreferences(String name, int mode) 先取了缓存, 如果缓存未命中, 才构造对象 构造SharedPreferences...
创建基于HttpUrlConnection的具体获取网络数据流HttpUrlConnectionUtil 包装具体每一个请求的Request类 基于Handler、Threa...
/************************************** 创建表 ***********************************...
Transformer转换器,Observable.compose() Observable.compose()操作符是直接对当前Observable进行操作;Transfo...
读写锁:核心思想实现读写分离,高并发下特别适合 读多写少的场景。 synchronized关键字和ReentrantLock 同一时间只能有一个线程进行访问被锁定的代码,读写...
ReentrantLock 重入锁使用java.util.concurrent.locks.ReentrantLock类来实现。它的几个重要方法如下: 对于重入锁,同一个线程...
BlockingQueue 在java.util.concurrent包中的 BlockingQueue接口类是一种线程安全的队列。通过ReentrantLock实现线程安全...
这很久之前写的了,rxjava1和rx2区别还是不大的,不过现在也有更好的做法,RxLifecycle绑定生命周期,你可以看一下
Android 开发使用MVP结合RxJava产生内存泄漏的解决在上一篇我们说道,MVP中由于P对V(Activity)的引用可能导致内存泄漏。我们都知道,当我们使用非静态内部类,或者匿名内部类的时候,由于内部类会默认持有外部类的引用,当...
平时在做线程任务停止的时候,可能很多情况下都是使用一个退出标志,使线程正常退出,也就是run方法完成后线程终止。这里我们说一下使用interrupt()方法来停止线程。首先,...
1.非本地资源Bitmap内存的计算 首先是一个像素占用的内存 不考虑采样率压缩,加载一张bitmap占用内存 当我们设置BitmapFactory.options.inSa...