Android 如何使用Glide库逐个加载图像?
我有一个应用程序包含一系列图像,通过使用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.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)
可能会有帮助