はじめに
特にこだわりがなければCoroutineに対応したイメージローダーを使うのが良いと思います。
GlideとCoroutine
Glideはsubmitとgetで同期的に画像が取得できるのでこれをCoroutineで呼び出すだけです。
複数の画像を並列でロードすることもできます。
object AsyncImageLoader {suspend fun load(context: Context, url: String?) = withContext(Dispatchers.IO) {kotlin.runCatching {Glide.with(context).load(url).submit().get()}.getOrNull()}suspend fun load(context: Context, urlList: List<String?>) = coroutineScope {urlList.map{ async { AsyncImageLoader.load(context, it) } }.awaitAll()}}