【发布时间】:2018-01-23 09:40:49
【问题描述】:
我注意到在我的应用程序中加载位图需要很长时间,如果在主线程上运行会导致动画滞后,因此我将其移至后台线程。
val scheduler = ...
Observable.fromCallable {
BitmapFactory.decodeResource(resources, resourceId)
}.subscribeOn(scheduler)
.observeOn(AndroidSchedulers.mainThread()).subscribe {bitmap ->
imageView.setImageBitmap(bitmap)
}
但是,有多个调度程序可供选择。一方面位图是从磁盘加载的,所以它应该是Schedulers.io(),但另一方面它也是计算密集型的,所以Schedulers.computation() 是另一个候选者。位图大小约为 1 兆像素,加载时间约为 50 毫秒。
那么我该如何决定,为此任务选择哪个调度程序?
【问题讨论】:
标签: android multithreading kotlin rx-android bitmapfactory