我正在开发一个应用程序,我必须从互联网上下载图像并在应用程序中显示它们,我到目前为止使用的是Universal Image Loader,但最近我遇到了一个问题,即应用程序无法显示图像巨大的,例如700 x 7661,我已阅读了几篇文章&答案与它相关但似乎没有什么是可靠的解决方案,它出现在硬件加速应用中,图像大小受OpenGL纹理大小限制的限制,Stackoverflow上的答案建议将图像调整为更小的尺寸。我知道禁用硬件加速会修复它,但这不是一个选项,因为它会让整个应用程序感到紧张。
我的问题是我们如何才能准确地实现这一点,因为设备具有不同的OpenGL纹理限制,一些设备支持2048 x 2048,一些设备支持4096 x 4096,如果我们通过考虑最小尺寸调整图像大小,它们中的一些支持甚至更小在高分辨率设备上图像会显得模糊,所以我有点不知道如何处理这个问题,我尝试过Picasso,Fresco& Glide和他们所有人都有类似的问题。
我尝试加载的图片示例为http://i.imgur.com/ADpTC2W.jpg?1
此致
答案 0 :(得分:0)
您可以使用Canvas.getMaximumBitmapWidth()
和Canvas.getMaximumBitmapHeight()
查找最大纹理大小,然后在将它们放入imageViews之前调整它们的大小。
答案 1 :(得分:0)
您可以阅读设备分辨率并根据分辨率调整图片大小
获取解决方案请参阅:How to get screen resolution