android通过for循环得到bitmap,不知道是不是异步的原因,uri每次都一样,如何解决,如何同步得到bitmap,我的uri也可能是网页url或者本地地址
for (ImagesEntity imagesEntity : imagesEntities) {
final String uri = imagesEntity.getImage();
BitmapUtils.getBitmap(getActivity(), uri, new BitmapUtils.LoadImageCallback() {
@Override
public void callback(Bitmap result) {
//getBitmap
}
});
}
public static void getBitmap(Context context, String uri, final LoadImageCallback callback) {
LogUtils.d("getBitmap: " + uri);
Glide.with(context)
.load(uri)
.asBitmap()
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {
callback.callback(bitmap);
}
});
}
PHP中文网2017-04-17 17:26:41
可以放到线程里,可通过这种方式的到bitmap,在循环里写如下方法
bitmap = Glide.with(context)
.load(getGlideUrl(url))
.asBitmap()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.get();
黄舟2017-04-17 17:26:41
uri是从imagesEntity中读出来的,uri每次都一样跟同步异步没什么关系
另外,这种异步回调如果要改成同步的话后面加get()即可,这个方法会wait到结果返回