开发过程中,常常需要更新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();
}
本文介绍了一种简化主线程和IO线程切换的方法,通过定义特定接口和使用RxJava,实现UI更新等操作在主线程执行,而耗时任务则在IO线程处理。
1331

被折叠的 条评论
为什么被折叠?



