在应用程序中实现聊天功能时,我遇到了毕加索的问题。我面临的问题是它正在非常缓慢地加载图像。从BE返回的图像重量可达500kb。当线程中只有一个图像时,加载时间是可以接受的。当我们有多个图像时,它就变成了一场噩梦。在LTE图像上,加权~150kb甚至加载8秒。以下是我如何使用毕加索:
Picasso
.get()
.load(photoPath)
.resize(imageSize, imageSize)
.centerCrop()
.into(image, object : Callback {
override fun onError(e: Exception?) {
progress.visibility = View.GONE
}
override fun onSuccess() {
progress.visibility = View.GONE
}
})
我在这里做错了吗?如何强制Picasso更快地加载图像?对我来说,似乎毕加索以某种延迟开始加载过程。也许重要的是我将元素加载到RecyclerView中然后我将它全部滚动到底部。
编辑:
对于案件中的信息,有人会遇到同样的问题。我试过Glide
幸运的是它对我来说效果更好。在我看来,它比毕加索小lag
。第二件帮助我的事情是在通知中实现图像预览。这个实现在我将在UI中使用它之前获取图像,所以现在所有都加载得非常快。