Android框架-RxJava
Android中很多地方都需要跨线程通信,这是由于Android主线程不允许进行复杂的网络请求或者其他非常耗时的操作,否则会导致ANR,主线程只能进行UI操作,比如修改某个控件的text、设置某个控件不可见等等,因此网络请求等操作需要在其他线程中完成,当数据在其他线程中获取完毕时,通过跨线程通信将数据传到主线程中,主线程就可以直接根据数据进行UI操作。常见的跨线程通信的方式有Handler、AsyncTask、EventBus以及RxJava等,前两个是Android自带,后两者是封装好的第三方库。