当前位置: 首页 > 知识库问答 >
问题:

毕加索无法快速加载图像

吕峰
2023-03-14

我面临毕加索无法快速加载图像的问题。

有3个ImageViews显示左、中、右图像。在快进/后退时,对于给定的时间点,选择左、中、右并显示在三个框中。

这是初始化。OkHttp缓存是100MB以及99MB的LruCache

new Picasso.Builder(getApplicationContext())
                .downloader(new OkHttp3Downloader(picassoOkHttpClient))
                .memoryCache(new LruCache(99999999))
                .build();

窗口移动的图像数是3000。所以我将图像预加载为

picasso.load(imageUrl).fetch();

平均图像大小为10KB-320x180,因此达到35MB,小于99MB。

当快速循环工作时,许多图像是GREEN(来自MEMORY)和BLUE(来自DISK),但在几个快速循环之后,3个图像冻结或变得非常慢。此时大多数图像都是BLUE。应用程序仍在响应。没有OutOfMemory或任何其他异常。

android:largeHeap选项也已启用。

毕加索统计数据中的命中率非常低。150/3000.

图像加载为

picasso.load(leftUrl)
.noFade()
.noPlaceholder()
.into(leftImageView);

picasso.load(middleUrl)
.noFade()
.noPlaceholder()
.into(middleImageView);

picasso.load(rightUrl)
.noFade()
.noPlaceholder()
.into(rightImageView);

第1期-

第2期-

PS:我知道“膨胀”图像的大小会大得多,很容易跨越99MB的界限。这就是为什么只有一些是绿色的,而大多数是蓝色的。

共有2个答案

东郭赞
2023-03-14

是否尝试使用其他图像加载库?也许这只是毕加索的缺陷。就我个人而言,我从来都不喜欢毕加索,因为它总是有一些问题。我已经开始使用Glide,但找不到它的任何缺点。它支持各种缓存和转换,而且做得非常好。

示例:Glide-UniversalImageLoader-Fresco

呼延凌
2023-03-14

我能理解你的问题的唯一原因是你使用的图像分辨率很高,尺寸很大。我的建议是在加载图像时调整图像大小。诸如此类:

Picasso.with(getApplicationContext()).load(filePath).resize(400,400).centerCrop().into(imageView);

希望这会有帮助!

 类似资料:
  • 我有一个从服务器加载映像的项目。我这样用毕加索, 多谢了。

  • 问题内容: 我想使用Picasso在列表视图中一个接一个地加载三个连续的图像。使用毕加索提供的方法可以轻松做到这一点。但是,由于这些图像在不同的时间加载,因此在图像进入时会产生闪烁效果。例如,有时图像2出现在图像1之前,而当图像1加载时会导致不自然的结结。如果可以将listview的可见性设置为不可见,直到可以显示所有图像,那将更好。但是,我找不到用于毕加索的回调方法,该方法会在加载图像时发出信号

  • 我正在使用毕加索图书馆。我知道,如果我将图片从URL加载到图像视图中,有一种回调方法。但我不想加载到imageview中。相反,我想将其另存为位图。所以我用了下面的代码 我怎样才能得到一个回调方法,知道我的图像是成功下载使用毕加索? 不要说位图对象的空检查。这会导致错误。

  • 我可以使用Picasso库从文件系统加载图像吗? 我正在使用让用户从他的图库中选择一张照片,然后想要显示所选图像。 我已经有了获取图像文件系统Uri的工作代码,但无法获取毕加索。load()方法工作。

  • 当我通过VS代码运行我的网页时,我的所有图片都会显示出来,但由于某种原因,当我通过localhost运行网页时,没有任何图片或CSS被发送。这是我下面的代码,任何帮助都将不胜感激。我曾试图在网上找到解决方案,但迄今为止似乎没有任何效果。 这是我的文件结构

  • 我有下面的代码来加载毕加索的图像,在下载图像时使用可绘制的占位符来显示图像。不过,我想要的是一个动画旋转进度条样式的微调器,它可以在图像加载时不断地旋转,就像我在大多数专业应用程序中看到的那样。毕加索似乎不支持这一点,只支持静态图像绘制。有没有办法让它与毕加索合作,或者我必须做些不同的事情?