【问题标题】:Android Volley with Image Caching带有图像缓存的 Android Volley
【发布时间】:2014-09-08 06:44:29
【问题描述】:

目前我正在使用一个应用程序,其中一个活动包含一个列表视图,其中每一行都有图像和文本。我正在使用凌空下载图像。单击列表视图项时,应用程序将切换到另一个带有详细视图的活动,其中将显示单击图像的大版本。这两次我都在使用 NetworkImageView。

图像通过缓存加载到列表视图中。但是问题出现在详细视图上。图像从先前加载的低分辨率缓存中显示。我想在详细视图上加载分辨率好的图像,该图像将单独缓存图像以供大视图使用。

对于两个屏幕图像 url 是相同的。怎么做 ? 提前致谢。

【问题讨论】:

  • 我觉得你的图片质量很差。
  • Images are loaded in the list view with caching.能不能解释一下,你是使用离线加载还是设置为缓存?
  • 我为列表视图图像保留了 setShouldCache(true) @mmlooloo

标签: android android-volley networkimageview


【解决方案1】:

第一件事有点明显 - 确保您的图像达到所需的质量。

如果是这种情况,您可能希望使用 ImageLoader 类“手动”加载图像,因为默认情况下,NetworkImageView 会将其创建的 Bitmap 的大小优化为视图本身。所以发生的情况是,您首先加载较小的缩略图视图,然后以该大小而不是原始图像大小创建保存的Bitmap。然后,当更大的视图请求相同的图像时,返回缓存版本,即一个小的Bitmap,视图将其放大,创建低分辨率外观。

尝试使用ImageLoader.get(),其宽度和高度适合详细信息屏幕中的较大视图。

另一种方法是加载同一图像的 2 个版本。

【讨论】:

    猜你喜欢
    • 2017-01-19
    • 2013-10-24
    • 2014-03-17
    • 2017-10-17
    • 2015-09-03
    • 2014-02-12
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多