我有两种方法:
private void method1() throws InterruptedException {
//SimulateLongOperation
Thread.sleep(5000);
System.out.println("hello1");
}
private void method2(){
System.out.println("hello2");
}
我想在 method1 完成后调用 method2,但我不想阻塞 UI 线程。
可以用 RxJava 来实现吗?
它会是什么样子?网上没有简单的例子,只有我看不懂的精彩文章。
当我调用时:
method1();
method2();
我阻塞了主线程,这太可怕了。
最佳答案
您还可以尝试以下操作:
- 使用 Kotlin:
Completable.fromAction{ method1() }
.doOnComplete{ method2() }
.subscribeOn(Schedulers.io())
.subscribe()
- 使用 Java:
Completable.fromAction(() -> method1() )
.doOnComplete(__ -> method2())
.subscribeOn(Schedulers.io())
.subscribe()
关于java - 仅当其他方法完成时才调用方法 - RxJava,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54968226/