Android:使用Glide下载1k +图像

时间:2016-09-20 15:56:21

标签: android android-glide

我目前正在尝试创建一个图像"播放器"展示一个人的动力。记录驱动器并将其存储为图像,每秒分割为1个图像。

我使用Glide拉动图像。然而,正如你可以想象的那样,有很多图像 - 成千上万。我的第一个想法是使用Glide的downloadOnly选项下载图像,并使用Discrete Seekbar,随着图像的下载,然后增加Seekbar的最大值。该方法的问题在于需要很长时间。

这是我目前下载图片的目的:

    private void downloadOnlyImages(List<String> URLs){
    totalImages = 0;
    for(final String url: URLs){
        Glide.with(this)
             .load(url)
                .downloadOnly(new SimpleTarget<File>() {
                    @Override
                    public void onResourceReady(File resource, GlideAnimation<? super File> glideAnimation) {
                        Log.i("glide", "image downloaded" + url);
                        mySeekBar.setMax(totalImages++);
                    }
                });
    }
}

这就是我目前使用的搜索栏:

                        mySeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

                        @Override
                        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                            Glide.with(getActivity())
                                    .load(URLs.get(progress))
                                    .fitCenter()
                                    .dontAnimate()
                                    .diskCacheStrategy(DiskCacheStrategy.ALL)
                                    .into(imageView);

                        }

想法是,下载图像,然后使用搜索栏移动它们,始终用下一个图像替换相同的ImageView。使用Glide的缓存,我试图检查它是否在缓存中然后拉出该图像,如果没有,则使用URL获取。但是,这会阻碍UI线程,导致延迟。

TLDR:我希望能够将搜索栏用作&#34;播放器&#34;我使用Glide拉动了数千张图像。然而,使用我天真的方法非常迟钝。试图想出一种更有效和更有效的方式来拉动图像,在更多的延迟加载中#34;方式。

0 个答案:

没有答案