文章 16
浏览 11957
Kotlin协程

Kotlin协程

Kotlin协程 协程 协程的挂起和恢复 阻塞:点98号技师,98号正在忙,就只有等着98号 挂起:点98号技师,98号正在忙,让前台记下来,就可以看点FBI电影 常规的函数操作:invoke(call)和return 协程新增了suspend和resume suspend:也称为挂起或者暂停,用于暂停执行当前协程,并保存所有局部变量 resume:用于让已暂停的协程从其暂停的地方继续执行 协程的调度器 所有的协程都必须在调度器中运行,即使他们在主线程运行也是如此 Dispatchers.MainAndroid是的主线程,用来处理UI交互和一些轻量级的任务 调用suspend函数、调用UI函数、更新LiveData Dispatchers.IO:非主线程,专为磁盘和网络IO进行了优化 数据库、文件读写、网络处理 Dispatchers.Default:非主线程,专为CPU密集型任务进行了优化 数组排序、JSON数据解析、处理差异判断 如果是在使用retrofit的话,使用的suspend函数,会自动把函数放在IO线程中 CoroutineScope 任务泄漏 当某个协程任务丟失,无法追....

Retrofit中使用Rxjava2的zip操作符进行多线程请求

Retrofit中使用Rxjava2的zip操作符进行多线程请求

基本思路 使用subscribeOn(Schedulers.io());在线程中获取多个Observable,再使用.zip操作同步到(UI)主线程中,其中关于BiFunction中,返回的数据使用新建一个AllBean(找解决办法ing) 代码区 WApi public interface WApi { @Headers("token:a337xZZFXIn7SqD1") @GET("dog") Observable<DogBean> getDogJson(); @Headers("token:a337xZZFXIn7SqD1") @GET("qinghua") Observable<QingHuaBean> getQinghuaJson(); } RetrofitManager public class RetrofitManager { private static RetrofitManager sInstance = new RetrofitManager(); private WApi mRetrofit; public static Retrof....

充实的一天