android如何同步得到bitmap

 happy柒月卍520 发布于 2022-10-30 00:16

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() {
                    @Override
                    public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {
                        callback.callback(bitmap);
                    }
                });
    }
2 个回答
  • uri是从imagesEntity中读出来的,uri每次都一样跟同步异步没什么关系
    另外,这种异步回调如果要改成同步的话后面加get()即可,这个方法会wait到结果返回

    2022-11-12 01:48 回答
  • 可以放到线程里,可通过这种方式的到bitmap,在循环里写如下方法

     bitmap = Glide.with(context)
                    .load(getGlideUrl(url))
                    .asBitmap()
                    .diskCacheStrategy(DiskCacheStrategy.ALL)
                    .into(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
                    .get();
    2022-11-12 01:48 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有