请看下面的代码行:
Glide.with(getContext()).downloadOnly().load(some_uri).submit();
该问题专门针对Glide版本4 API。
v1uwarro1#
回答我自己的问题。
是异步的。
Glide.with(getContext()).downloadOnly().load(some_uri).submit().get();
是同步的。
qvtsj1bj2#
仅Glide下载()API允许您将映像的字节下载到磁盘缓存中,以便以后检索。您可以使用downloadOnly()异步**仅下载(Y目标)在ui线程上或同步donwloadOnly(int,int)**在后台线程上。注意参数略有不同,异步API采用Target,而同步API采用整数宽度和高度。要在后台线程上下载图像,必须使用同步版本:
FutureTarget<File> future = Glide.with(applicationContext) .load(yourUrl) .downloadOnly(500, 500); File cacheFile = future.get();
一旦future返回,图像的字节就可以该高速缓存中使用。通常downloadOnly()API只用于确保字节在磁盘上可用。尽管您可以访问底层缓存File,但通常不想与它交互。当您以后想要检索图像时,可以使用普通调用来实现,但有一个例外:
Glide.with(yourFragment) .load(yourUrl) .diskCacheStrategy(DiskCacheStrategy.ALL) .into(yourView);
2条答案
按热度按时间v1uwarro1#
回答我自己的问题。
是异步的。
是同步的。
qvtsj1bj2#
仅Glide下载()API允许您将映像的字节下载到磁盘缓存中,以便以后检索。您可以使用downloadOnly()异步**仅下载(Y目标)在ui线程上或同步donwloadOnly(int,int)**在后台线程上。注意参数略有不同,异步API采用Target,而同步API采用整数宽度和高度。
要在后台线程上下载图像,必须使用同步版本:
一旦future返回,图像的字节就可以该高速缓存中使用。通常downloadOnly()API只用于确保字节在磁盘上可用。尽管您可以访问底层缓存File,但通常不想与它交互。
当您以后想要检索图像时,可以使用普通调用来实现,但有一个例外: