跳至主要內容
Rxjava的线程调度

调度器

用于线程调度

使用案例

Observable.create(new Observable.OnSubscribe<String>() {

 @Override
 public void call(Subscriber<? super String> subscriber) {
  System.out.println("正在进行耗时操作");
  subscriber.onNext("执行耗时操作后的结果");
  subscriber.onCompleted();
 }
})
.subscribeOn(Schedulers.io())    //让被观察者执行在IO线程
.observeOn(AndroidSchedulers.mainThread()) //让观察者执行在主线程
.subscribe(...);

h7mlandroidrxjava大约 2 分钟
RxJava的优势
public class MainActivity extends AppCompatActivity {

    private ImageView mImageView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mImageView = (ImageView) findViewById(R.id.image);
    }

 // 给图片加水印的方法
    private Bitmap createWatermark(Bitmap bitmap, String mark) {
        int w = bitmap.getWidth();
        int h = bitmap.getHeight();
        Bitmap bmp = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bmp);
        Paint p = new Paint();
        // 水印颜色
        p.setColor(Color.parseColor("#C5FF0000"));
        // 水印字体大小
        p.setTextSize(150);
        //抗锯齿
        p.setAntiAlias(true);
        //绘制图像
        canvas.drawBitmap(bitmap, 0, 0, p);
        //绘制文字
        canvas.drawText(mark, 0, h / 2, p);
        canvas.save(Canvas.ALL_SAVE_FLAG);
        canvas.restore();
        return bmp;
    }
}

h7mlandroidrxjava大约 1 分钟
依赖

添加依赖

compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.0.1'

h7mlandroidrxjava大约 7 分钟