0

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

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

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

4

1 回答 1

0

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

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

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

另一种选择是加载同一图像的 2 个版本。

于 2014-09-12T01:05:58.687 回答