android - Picasso 在 RecyclerView 中加载图像非常缓慢
问题描述
我在应用程序中实现聊天功能时遇到了毕加索的问题。我面临的问题是它加载图像的速度非常慢。从 BE 返回的图像最大可达 500kb。当线程中只有一张图像时,加载时间是可以接受的。当我们得到多个图像时,它就变成了一场噩梦。在重量约为 150kb 的 LTE 图像上,加载时间甚至为 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
}
})
我在这里做错什么了吗?如何强制毕加索更快地加载图像?对我来说,毕加索似乎以某种延迟开始加载过程。也许重要的是我将元素加载到 RecyclerView 中,然后将其一直滚动到底部。
编辑:
对于案件中的信息,有人会遇到同样的问题。我已经尝试过Glide
,幸运的是它对我来说效果更好。在我看来,它lag
比毕加索要小。对我帮助很大的第二件事是在通知中实现了图像预览。这个实现在我在 UI 中使用它之前获取图像,所以现在所有的加载都非常快。
解决方案
推荐阅读
- java - 在 Spring Boot 中使用 SOAP Web 服务时遇到 SoapFaultClientException
- kubernetes - 为什么在 Minikube 上使用 Contour 没有外部 IP?
- mqtt - 模式开头的 Mosquitto ACL 主题通配符不起作用
- android - 如何更改安卓模拟器的电池设置?
- tree - 具有 1 个构造函数的 SML 多类型二叉树
- sql - 在Oracle的一列数据中随机转换具有unix时间戳的数据
- spring-boot - 如何在 Spring Boot 2 中将“spring.datasource.tomcat”属性绑定到 javax.sql.DataSource 类
- reactjs - Kendo-react-ui TreeList 如何自定义不同层次的单元格?
- javascript - 如何在没有任何动画的情况下默认切换隐藏
- python - 如何从列表中整理出类别中的值以便从 python 中的变量中访问数据?