Android 面试知识点记录——Rxjava与协程
作者:浪人笔记
RxJava协程与操作符
在RxJava中,源码map操作符实现简单,解读它在原有Observable的源码基础上添加MapObservable观察者,将变换函数作为参数传递。解读MapObservable的源码onNext方法接收元素,传递给变换函数进行变换,解读快乐影视源码结果作为新元素发射。源码
而flatMap操作符实现相对复杂。解读它在原有Observable上添加FlatMapObservable观察者,源码并将变换函数作为参数传递。解读FlatMapObservable的源码onNext方法接收元素,传递给变换函数得到新Observable,解读注册到FlatMapSubscriber中等待下一次数据。源码数据处理完成后,解读调用FlatMapSubscriber的源码onComplete方法,合并所有得到的Observable成新Observable发射。
RxJava1.0与2.0区别
RxJava2.0在异常处理、hashcat的源码编译背压支持、线程调度和性能等方面改进和提升。
背压概念与解决方案
背压是指数据产生速度大于消费速度,导致内存溢出等问题。RxJava1.x没有背压支持,使用onBackpressureBuffer、onBackpressureDrop缓解,而RxJava2.0引入Flowable支持背压,婚庆html网站源码提供更多背压控制策略。
Flowable类型支持背压,通过onBackpressureBuffer、onBackpressureDrop、onBackpressureLatest等方法处理背压问题。Flowable方式类似Observable,使用时需指定背压策略。
subscribeOn与observeOn
subscribeOn只影响第一次指定的html源码正则匹配线程,后续操作不影响。subscribeOn理解为管道入口,observeOn理解为出口,数据处理后出口策略可变。
RxJava数据流回主线程
使用observeOn(AndroidSchedulers.mainThread()),内部实现为Handler(Looper.getMainLooper())。
协程、进程、小说站源码 2017线程、协程区别
Kotlin协程基于挂起函数实现,不依赖操作系统和编译器,实现协程效果。
处理回调地狱与协程
协程通过挂起函数减少回调嵌套,提高代码可读性。使用withContext指定协程执行上下文,避免主线程阻塞。
开发中选择调度器
通常选择主线程、IO密集型和CPU密集型调度器,对应Kotlin协程中的上下文。
Android核心知识点记录
包含性能优化、车载技术、Framework底层原理、音视频开发、Jetpack全家桶、Kotlin、Gradle、OkHttp源码解析、Flutter等主题,涵盖Android开发者必备知识。
Android面试题集锦
整理多年面试题集,包括Android基础知识、性能优化、音视频、Jetpack全家桶、Kotlin、Gradle、OkHttp源码解析等内容,为开发者提供面试准备。
Android音视频面试题集
聚焦于Android音视频开发的关键问题,帮助开发者深入理解音视频技术。
springboot+vue+elementui+flowable+èªå®ä¹è¡¨å
æºç
springbootï¼ /zjm/zjmzxfzhl
springcloudï¼ /zjm/zjmzxfzhl-cloud
æ¼ç¤ºç¯å¢
http://...3:/zjmzxfzhl/
2024-11-30 14:10
2024-11-30 13:07
2024-11-30 12:42
2024-11-30 12:35
2024-11-30 11:54