我正在使用Glide在我的Android应用程序中加载图像:
Glide.with(context).load(“ http://www.example.com/whatever/icon.png”).into(imageView);
我想在我的应用APK文件中捆绑一些图片,以确保即使设备处于离线状态,它们也始终可用。我仍然想使用Glide来受益于诸如调整大小的图像的内存缓存,在后台线程中加载和缩放等功能,并保持显示图像的界面一致。
我需要像这样加载的每个图像都是由URL指定的。如果有本地版本(本地文件名是通过使用URL的一部分生成的,例如在以下位置使用“ file:/// android_asset / bundled_images / whatever /”替换“ http://www.example.com/ ”) URL字符串),我想使用那个。如果不是,则需要从实际的URL下载图像。
这是一个例子:
我在http://www.example.com/whatever/icon.png上有一张图片,我将此图片打包在以下的apk中:
/assets/bundled_images/whatever/icon.png
规则如下:
如果图像文件存在于本地资产下,请使用该文件。如果本地资产下不存在该映像,请使用远程文件。
每当我请求将图像加载到图像视图中时,我都希望仅使用完整的URL(http://www.example.com/whatever/icon.png),并且我的图像加载器应能够自动首先检查本地副本。
我可以使用Glide的任何功能执行类似的操作吗?是的,我当然可以在调用glide之前对文件是否存在进行检查,但是看来Glide可以/应该为此具有一个足够普遍的用例。在后台进行文件存在检查也很好。
您可以通过GlideModule
以下描述的方式添加自定义来实现所需的灵活性:Glide Configuration。另外,您还需要实现适当的Glide加载程序,该加载程序将封装下载逻辑。在您的情况下,它可能类似于UriLoader。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句