Android 下载是同步还是异步?

Android 下载是同步还是异步?,android,android-glide,Android,Android Glide,考虑以下代码行 Glide.with(getContext()).downloadOnly().load(some_uri).submit() 问题1)是同步的还是异步的 问题2)如果是同步的,那么如何使其异步?如果它是异步的,那么如何使它同步 问题是指Glide v4Glide的downloadOnly()API允许您将映像的字节下载到磁盘缓存中,以便以后检索。您可以在ui线程上异步使用downloadOnly()downloadOnly(Y目标),或在后台线程上同步使用downloadOnl

考虑以下代码行
Glide.with(getContext()).downloadOnly().load(some_uri).submit()

问题1)是同步的还是异步的

问题2)如果是同步的,那么如何使其异步?如果它是异步的,那么如何使它同步

问题是指Glide v4

Glide的downloadOnly()API允许您将映像的字节下载到磁盘缓存中,以便以后检索。您可以在ui线程上异步使用downloadOnly()downloadOnly(Y目标),或在后台线程上同步使用downloadOnly(int,int)。请注意,参数略有不同,异步api采用目标,同步api采用整数宽度和高度

要在后台线程上下载图像,必须使用同步版本:

FutureTarget<File> future = Glide.with(applicationContext)
    .load(yourUrl)
    .downloadOnly(500, 500);
File cacheFile = future.get();

回答我自己的问题

Glide.with(getContext()).downloadOnly().load(some_uri).submit();
是异步的

Glide.with(getContext()).downloadOnly().load(some_uri).submit().get();

是同步的

这是过时的(v3)。我对(v4)感兴趣。开发人员不赞成使用某些方法(您引用的方法),并在以后使用新方法进行替换。我问这个问题的原因是因为我已经阅读了关于它的所有可用文档,没有找到我需要的。好的,现在我知道你想要v4了。很好!你能指定信息的来源吗。“我想帮你,但在文档中找不到。”glide的一位开发者MishaAkopov回答说。我自己做了进一步的测试,包括一个简单的Log.d(…)语句,并检查是否所有请求都按顺序返回。啊,很遗憾,文档中没有这些内容。@Mishaakov我想您提到的文档已经解释了我的问题。然而,由于它使用的是一个稍微不同的方法签名,并且因为它没有明确地声明它,所以它让我感到不舒服和偏执
Glide.with(getContext()).downloadOnly().load(some_uri).submit().get();