Recyclerview 滚动滞后

Recyclerview lagging in scrolling

我正在尝试制作一个音乐应用程序来练习 Kotlin,我制作了一个 Recyclerview 和从外部存储中获取数据的函数。

现在我的问题是,当我向上或向下滚动时,它一直滞后,我认为原因是在 onBindViewHolder 函数中,我使用此代码从 Uri 创建了一个位图

  bitmap = MediaStore.Images.Media.getBitmap(contentResolver,album_uri)
                       

然后我设置位图

holder.song_image.setImageBitmap(songList[position].image)

我想也许如果我一次创建所有位图并在创建 Recyclerview 之前将它们放入 Arraylist 将有助于停止延迟并且确实如此但是我有另一个问题我无法处理它主线程导致它冻结。

我不知道该用什么,所以我搜索了该用什么,并阅读了有关协程的信息,但我觉得它有点适合多个 threading/tasks 延迟等等,但我只需要在不冻结 UI 线程的情况下完成一项简单的任务。

尝试使用像 Glide, Picasso, Coil 这样的图像加载库。他们可以在后台线程上加载图像。