Glide 下載Gif文件


之前做了一個類似朋友圈里的查看大圖功能,現在也要加上保存功能。

保存圖片有很多思路,可以從imageview里提取bitmap,可以用url下載到本地。imageview提取的話,gif圖就會變成一張靜態圖。

我的圖片使用glide加載的,glide自帶緩存,如果再次用glide下載圖片,則會直接讀取緩存,節省時間。這次用的原理就是在點擊保存圖片的時候,將glide緩存文件保存到Pictures文件夾。

/**
 * Created by csonezp on 16-1-12.
 */
public class SaveImageTask extends AsyncTask<String, Void, File> {
    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));
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM