开发过程中,常常需要更新UI界面,需要在主线程做相关操作。主线程和IO线程的相互转换很频繁。特意整理了两个方法,轻松红
/**
* 主线程运行
*
* @param mainThreadHandler 主线程处理器
*/
public static void runOnMainThread(final MainThreadHandler mainThreadHandler) {
Observable.just(1)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
mainThreadHandler.onMainThread();
}
});
}
/**
* IO线程运行
*
* @param ioThreadHandler IO线程处理器
*/
public static void runOnIOThread(final IoThreadHandler ioThreadHandler) {
Observable.just(1)
.observeOn(Schedulers.io())
.subscribe(new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
ioThreadHandler.onIoThread();
}
});
}
/**
* 主线程处理器接口
*/
public interface MainThreadHandler {
/**
* 主线程
*/
void onMainThread();
}
/**
* IO线程处理器接口
*/
public interface IoThreadHandler {
/**
* IO线程;
*/
void onIoThread();
}