繁体   English   中英

从URL Android加载大量图像的最有效方法

[英]Most efficient way to load a lot of images from URL Android

我正在制作这个netflix风格的应用程序,其中图像被加载到不同的类别。 假设狗视频(有15个图像),猫视频(15个图像)等等......所有图像都是从URL加载的,所有这些都需要一段时间才能加载。 我想知道我能做些什么来加快这个过程吗? 或者可能会显示一个空容器,然后在图像加载时填充它(这将很酷)。

这就是我所做的:

我在一个Activity中有多个异步调用,(每个类别1个异步调用)

JSONTask1 dogTask = new JSONTask1();
JSONTask2 catTask = new JSONTask2();
JSONTask3 pigTask = new JSONTask3();
JSONTask4 horseTask = new JSONTask4();

dogTask.execute("");
catTask.execute("");
pigTask.execute("");
horseTask.execute("");

我的实际代码中包含了所有这些内容。 谢谢。

我会使用“ 代理模式 ”。 基本上,您需要创建一个包含显示所需的最小信息的类。 其中,您有一个预览图像 当您通过显示预览内容加载所有内容时, 即:每个图片的加载gif以及电影的标题或其他内容。 基本上代理将有一个“loadImage”方法 ,它将进行ajax调用或异步调用 ,并且照片将逐个加载。 另外,为了使装载更容易,请确保照片不会过大。

你可以看到Picasso答案,毕加索我建议你这样:

Picasso.with(getApplicationContext()).load("your url").placeholder(R.drawable.your_place_holder).error(R.drawable.showing_when_error_occured)
            .into(imageView, new Callback() {
        @Override
        public void onSuccess() {

        }


        @Override
        public void onError() {

        }
    });

另外一个建议是:在后端将拇指图像转换为base64格式,然后首先检索你的拇指并显示它们。 然后启动异步任务并在成功时更改图像。 喜欢whatsapp。 在whatsapp你有拇指图像,他们有如此低的分辨率和超快。 当您点击图像时,如果您有互联网连接,他们加载实际的拇指图像,然后再次单击它们加载更大的图像。

毕加索网站: http//square.github.io/picasso/

与Picasso异步加载它们,您甚至可以显示占位符图像,直到加载真实的图像

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM