2022-01-19 遇到的一點小問題
最近用bash寫了個cgi腳本獲取圖片,沒有做壓縮處理昔榴,所以遇到大一點的圖片下載會比較慢链沼。
App用的Glide霎终,超時時間太短,會下載失敗。
21.0MB
網(wǎng)上找了下,很多介紹通過使用okhttp來修改Glide的超時時間,隨便找了個膏燃,試了一下,可以實現(xiàn)何什。
記錄一下组哩。
.
.
implementation 'com.github.bumptech.glide:glide:4.11.0'
implementation 'com.github.bumptech.glide:okhttp3-integration:4.11.0'
版本是看的mvnrepository,選擇的4.11.0处渣。
package com.wannoo.test;
import android.content.Context;
import androidx.annotation.NonNull;
import com.bumptech.glide.Glide;
import com.bumptech.glide.Registry;
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.integration.okhttp3.OkHttpUrlLoader;
import com.bumptech.glide.load.model.GlideUrl;
import com.bumptech.glide.module.AppGlideModule;
import java.io.InputStream;
import java.util.concurrent.TimeUnit;
import okhttp3.OkHttpClient;
@GlideModule
public class MyGlideAppModule extends AppGlideModule {
@Override
public void registerComponents(@NonNull Context context, Glide glide, @NonNull Registry registry) {
OkHttpClient client = new OkHttpClient.Builder()
.readTimeout(120, TimeUnit.SECONDS)
.build();
OkHttpUrlLoader.Factory factory = new OkHttpUrlLoader.Factory(client);
glide.getRegistry().replace(GlideUrl.class, InputStream.class, factory);
}
}
用的@GlideModule伶贰,不用在AndroidManifest.xml注冊GlideModule。