博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Glide 下载Gif文件
阅读量:5371 次
发布时间:2019-06-15

本文共 1321 字,大约阅读时间需要 4 分钟。

之前做了一个类似朋友圈里的查看大图功能,现在也要加上保存功能。

保存图片有很多思路,可以从imageview里提取bitmap,可以用url下载到本地。imageview提取的话,gif图就会变成一张静态图。

我的图片使用glide加载的,glide自带缓存,如果再次用glide下载图片,则会直接读取缓存,节省时间。这次用的原理就是在点击保存图片的时候,将glide缓存文件保存到Pictures文件夹。

/** * Created by csonezp on 16-1-12. */public class SaveImageTask extends AsyncTask
{ private final Context context; public SaveImageTask(Context context) { this.context = context; } @Override protected File doInBackground(String... params) { String url = params[0]; // should be easy to extend to share multiple images at once try { return Glide .with(context) .load(url) .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) .get() // needs to be called on background thread ; } catch (Exception ex) { return null; } } @Override protected void onPostExecute(File result) { if (result == null) { return; } String path = result.getPath(); FileUtil.copyFile(path, FileUtil.getPubAlbumDir().getPath() + UUID.randomUUID().toString() + ".gif"); GlobalUtil.shortToast(context, context.getString(R.string.save_success)); }}

 

转载于:https://www.cnblogs.com/csonezp/p/5124270.html

你可能感兴趣的文章
Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
查看>>
宇宙中最强大的开发环境免费了!
查看>>
C#中运行bat
查看>>
lang3 StringUtils
查看>>
Sniffer
查看>>
nodejs 实现继承
查看>>
特征值提取之 -- TF-IDF值的简单介绍
查看>>
MySQL安装中无法通过命令删除原有权限的解决办法
查看>>
【思维一转天地宽】根据银行卡号如何判断是对公户还是个人户?
查看>>
支付同步和异步处理关系
查看>>
java基本算法
查看>>
Day34
查看>>
【设计模式】观察者模式(改进后的)
查看>>
Linux如何配置bond
查看>>
Android Developers:日历提供者
查看>>
C# 预处理指令
查看>>
奇葩问题:spring+mybaits项目突然出现其中一些Mapper类找不到
查看>>
linux命令sync,shutdown
查看>>
./configure详解
查看>>
Java图书推荐:《深入理解Java7:核心技术与最佳实践》
查看>>