减少下载/显示高分辨率图像的开销

时间:2019-02-25 16:31:13

标签: android

在我的应用程序中,我有一个活动,其中显示来自网络的图像。我宁愿不需要用户将它们下载到他们的设备,所以我使用的基本上是这样的:

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);
    }
});

这行得通,但是我确定您愿意阅读。因为我下载的(通常是高分辨率)图像,所以要花一些时间才能显示。实际上,我正在下载大量图像,这些图像仅在下载并处理了集合中的所有图像后才显示,因此向用户显示可能需要花费几秒钟的时间。而且,我不需要像源一样高的图像分辨率。

那么如何更快显示这些图像?有没有办法下载较低分辨率的源代码?

0 个答案:

没有答案