2016-11-29 94 views
0

我在gridview上有3个URL,只有2个图像加载到ImageView中。毕加索没有下载高分辨率图像

我使用的毕加索:

Picasso.with(c).load(imageUrl).placeholder(R.drawable.progress_animation).fit().centerCrop().into(ivPicture); 

我也试图跳过缓存:

Picasso.with(c).load(imageUrl).placeholder(R.drawable.progress_animation).fit().centerCrop().memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE).into(ivPicture); 

附加图像的信息:

  • 宽2048 /高1371个像素
  • 文件大小= 224KB
  • 文件格式为JPG

当我用毕加索的.resize(h w)到一个较低的分辨率例如:调整(100 100),用于测试图像被下载,但宽高比不能保持像一些图像将有一个9: 6的比例,反之亦然6:9或完美的正方形5:5,因此我不想将任何图像的大小调整为固定比例,而是使用.fit().centerCrop(),除了这1张高分辨率图像以外,其效果非常好,毕加索只是加载无限的占位符没有任何错误,我可以理解,如果像素太多,但文件大小是相当小的大小,我不知道为什么毕加索正在努力下载+/- 200KB图像。

毕加索有没有办法将图像压缩到某些像素上?

回答

0

毕加索无法处理非常大的图像,因为会收到了。你必须做的图像变换本地代码。不是里面的java内存

+0

我想我会在压缩用户上传的图片,使毕加索可以访问它们已经被压缩了,当我为图像编写我的注册和图库上传类时,我会到那个部分,我已经在我之前的一个应用程序中使用过它,希望所有的方法和库仍然可用并且仍然是最新的 – user3560827