【问题标题】:Picasso Taking time to load images毕加索 花时间加载图片
【发布时间】:2016-03-15 06:24:35
【问题描述】:

我正在使用 picasso 在我的回收站视图适配器中加载图像,但加载图像需要很长时间。这是我用毕加索加载图像的调用。

Picasso.with(hostActivity).load("ImageUrl").fit().centerCrop().into(holder.ImageView);

如果我对 asynctask 任务做同样的事情,图像会立即加载。

我做错了什么吗?

谢谢。

【问题讨论】:

  • 您很可能希望在 AsyncTask 中执行此操作。否则,您可能会冻结 UI 或导致应用程序跳帧。我不知道为什么会这样,但总是使用 AsyncTask 来处理任何暗示加载任何文件/使用互联网的事情
  • 毕加索的加载函数已经是异步的了。

标签: android picasso


【解决方案1】:

fit() 需要等待ImageView 的大小确定后才能匹配图片大小,直到布局过程结束才能计算大小。如果您能够预测合理的宽度和高度值,则可以使用 resize() 更快地获得结果。

您可能还想查看Glide 库,因为它采用不同的缓存方法,在某些情况下可能比毕加索更快,例如,它不是缓存全尺寸图像,而是缓存调整大小的图像。但是,这两个库都有很多优点和缺点。尽管语法非常相似,但在 Picasso 中可以使用的某些东西在 Glide 中却无法使用,反之亦然。

【讨论】:

    猜你喜欢
    • 2015-11-16
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    • 2015-11-14
    相关资源
    最近更新 更多