在我的应用程序中,我有一个活动,其中显示来自网络的图像。我宁愿不需要用户将它们下载到他们的设备,所以我使用的基本上是这样的:
String urlString = "https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/OSIRIS_Mars_true_color.jpg/1024px-OSIRIS_Mars_true_color.jpg";
InputStream inputStream = (InputStream) new URL(urlString).getContent();
final Drawable drawable = Drawable.createFromStream(inputStream, "src");
final Drawable finalImages[] = images;
runOnUiThread(new Runnable() {
@Override
public void run() {
myImageView.setImageDrawable(drawable);
}
});
这行得通,但是我确定您愿意阅读。因为我下载的(通常是高分辨率)图像,所以要花一些时间才能显示。实际上,我正在下载大量图像,这些图像仅在下载并处理了集合中的所有图像后才显示,因此向用户显示可能需要花费几秒钟的时间。而且,我不需要像源一样高的图像分辨率。
那么如何更快显示这些图像?有没有办法下载较低分辨率的源代码?