Android 如何使用Glide库逐个加载图像?

Android 如何使用Glide库逐个加载图像?,android,image,android-glide,Android,Image,Android Glide,我有一个应用程序包含一系列图像,通过使用glide库的链接显示,我的应用程序加载所有图像需要很长时间,因此可以逐个加载图像 Glide.with(上下文) .load(图像ID.get(位置)) .diskCacheStrategy(diskCacheStrategy.ALL) .优先级(优先级高) .listener(新的RequestListener(){ @凌驾 公共布尔onException(异常e、字符串模型、目标、布尔isFirstResource){ 返回false; } @凌驾

我有一个应用程序包含一系列图像,通过使用glide库的链接显示,我的应用程序加载所有图像需要很长时间,因此可以逐个加载图像

Glide.with(上下文)
.load(图像ID.get(位置))
.diskCacheStrategy(diskCacheStrategy.ALL)
.优先级(优先级高)
.listener(新的RequestListener(){
@凌驾
公共布尔onException(异常e、字符串模型、目标、布尔isFirstResource){
返回false;
}
@凌驾
公共布尔值onResourceReady(GlideDrawable资源、字符串模型、目标、布尔值isFromMemoryCache、布尔值isFirstResource){
progressBar.setVisibility(View.GONE);
返回false;
}
})
.进入(持有人类别图像);
试试这个

Glide.with(context)
        .load(imageId.get(position))
        .diskCacheStrategy(DiskCacheStrategy.ALL)
        .priority(Priority.HIGH)
        .listener(new RequestListener<String, GlideDrawable>() {
            @Override
            public boolean onException(Exception e, String  model, Target<GlideDrawable> target, boolean isFirstResource) {   
                   return false;
            }
            @Override
            public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                progressBar.setVisibility(View.GONE);
                return false;
            }
        })
        .thumbnail(0.1f) // this will do the trick
        .into(holder.CategoryImage);
Glide.with(上下文)
.load(图像ID.get(位置))
.diskCacheStrategy(diskCacheStrategy.ALL)
.优先级(优先级高)
.listener(新的RequestListener(){
@凌驾
公共布尔onException(异常e、字符串模型、目标、布尔isFirstResource){
返回false;
}
@凌驾
公共布尔值onResourceReady(GlideDrawable资源、字符串模型、目标、布尔值isFromMemoryCache、布尔值isFirstResource){
progressBar.setVisibility(View.GONE);
返回false;
}
})
.thumbnail(0.1f)//这样就可以了
.进入(持有人类别图像);
如果它不起作用,试着这样做

Glide.with(context)
        .load(imageId.get(position))
        .diskCacheStrategy(DiskCacheStrategy.ALL)
        .priority(Priority.HIGH)
        .override(100,100)
        .listener(new RequestListener<String, GlideDrawable>() {
            @Override
            public boolean onException(Exception e, String  model, Target<GlideDrawable> target, boolean isFirstResource) {   
                   return false;
            }
            @Override
            public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                progressBar.setVisibility(View.GONE);
                Glide.with(context).load(imageId.get(position))
                    .diskCacheStrategy(DiskCacheStrategy.ALL)
                    .priority(Priority.HIGH)
                    .into(holder.CategoryImage);
                return false;
            }
        })
        .into(holder.CategoryImage);
Glide.with(上下文)
.load(图像ID.get(位置))
.diskCacheStrategy(diskCacheStrategy.ALL)
.优先级(优先级高)
.超控(100100)
.listener(新的RequestListener(){
@凌驾
公共布尔onException(异常e、字符串模型、目标、布尔isFirstResource){
返回false;
}
@凌驾
公共布尔值onResourceReady(GlideDrawable资源、字符串模型、目标、布尔值isFromMemoryCache、布尔值isFirstResource){
progressBar.setVisibility(View.GONE);
Glide.with(context.load)(imageId.get(position))
.diskCacheStrategy(diskCacheStrategy.ALL)
.优先级(优先级高)
.进入(持有人类别图像);
返回false;
}
})
.进入(持有人类别图像);
试试这个

Glide.with(context)
        .load(imageId.get(position))
        .diskCacheStrategy(DiskCacheStrategy.ALL)
        .priority(Priority.HIGH)
        .listener(new RequestListener<String, GlideDrawable>() {
            @Override
            public boolean onException(Exception e, String  model, Target<GlideDrawable> target, boolean isFirstResource) {   
                   return false;
            }
            @Override
            public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                progressBar.setVisibility(View.GONE);
                return false;
            }
        })
        .thumbnail(0.1f) // this will do the trick
        .into(holder.CategoryImage);
Glide.with(上下文)
.load(图像ID.get(位置))
.diskCacheStrategy(diskCacheStrategy.ALL)
.优先级(优先级高)
.listener(新的RequestListener(){
@凌驾
公共布尔onException(异常e、字符串模型、目标、布尔isFirstResource){
返回false;
}
@凌驾
公共布尔值onResourceReady(GlideDrawable资源、字符串模型、目标、布尔值isFromMemoryCache、布尔值isFirstResource){
progressBar.setVisibility(View.GONE);
返回false;
}
})
.thumbnail(0.1f)//这样就可以了
.进入(持有人类别图像);
如果它不起作用,试着这样做

Glide.with(context)
        .load(imageId.get(position))
        .diskCacheStrategy(DiskCacheStrategy.ALL)
        .priority(Priority.HIGH)
        .override(100,100)
        .listener(new RequestListener<String, GlideDrawable>() {
            @Override
            public boolean onException(Exception e, String  model, Target<GlideDrawable> target, boolean isFirstResource) {   
                   return false;
            }
            @Override
            public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                progressBar.setVisibility(View.GONE);
                Glide.with(context).load(imageId.get(position))
                    .diskCacheStrategy(DiskCacheStrategy.ALL)
                    .priority(Priority.HIGH)
                    .into(holder.CategoryImage);
                return false;
            }
        })
        .into(holder.CategoryImage);
Glide.with(上下文)
.load(图像ID.get(位置))
.diskCacheStrategy(diskCacheStrategy.ALL)
.优先级(优先级高)
.超控(100100)
.listener(新的RequestListener(){
@凌驾
公共布尔onException(异常e、字符串模型、目标、布尔isFirstResource){
返回false;
}
@凌驾
公共布尔值onResourceReady(GlideDrawable资源、字符串模型、目标、布尔值isFromMemoryCache、布尔值isFirstResource){
progressBar.setVisibility(View.GONE);
Glide.with(context.load)(imageId.get(position))
.diskCacheStrategy(diskCacheStrategy.ALL)
.优先级(优先级高)
.进入(持有人类别图像);
返回false;
}
})
.进入(持有人类别图像);
使用以下代码:

 Glide.with(this)
            .load(sharePref.getUserImage())
            .asBitmap()
            //.centerCrop()
            .placeholder(R.drawable.ic_account_circle_black_48dp)     // .placeholder(R.drawable.user)
            .into(new BitmapImageViewTarget(user_Image) {
                @Override
                protected void setResource(Bitmap resource) {
                    RoundedBitmapDrawable circularBitmapDrawable =
                            RoundedBitmapDrawableFactory.create(getResources(), resource);
                    circularBitmapDrawable.setCircular(true);
                    user_Image.setImageDrawable(circularBitmapDrawable);
                }
            });
使用此代码:

 Glide.with(this)
            .load(sharePref.getUserImage())
            .asBitmap()
            //.centerCrop()
            .placeholder(R.drawable.ic_account_circle_black_48dp)     // .placeholder(R.drawable.user)
            .into(new BitmapImageViewTarget(user_Image) {
                @Override
                protected void setResource(Bitmap resource) {
                    RoundedBitmapDrawable circularBitmapDrawable =
                            RoundedBitmapDrawableFactory.create(getResources(), resource);
                    circularBitmapDrawable.setCircular(true);
                    user_Image.setImageDrawable(circularBitmapDrawable);
                }
            });

你把代码放在哪里了?它在适配器getview中吗?@Programming Pirate在
getview()中是。
图像的大小是多少?它们是大型图像还是仅指指甲如果在图像视图中使用wrap_内容,则需要花费大量时间。在加载图像后,请查看可能有帮助的用户
覆盖(100100)
,您将此代码放在何处?它在适配器getview中吗?@Programming Pirate在
getview()中是。
图像的大小是多少?它们是大型图像还是仅指指甲如果在图像视图中使用wrap_内容,则需要花费大量时间。请看一看,在加载图像后,用户
覆盖(100100)
可能会有帮助