perf:check GlideUrl cacheKey before call AnalyzeUrl

This commit is contained in:
Xwite
2022-04-14 12:36:20 +08:00
parent a327d6d53a
commit 69dfea0218

View File

@@ -5,6 +5,7 @@ import com.bumptech.glide.load.Options
import com.bumptech.glide.load.model.GlideUrl
import com.bumptech.glide.load.model.ModelLoader
import io.legado.app.model.analyzeRule.AnalyzeUrl
import io.legado.app.utils.isAbsUrl
import java.io.InputStream
@@ -19,7 +20,11 @@ object OkHttpModelLoader : ModelLoader<GlideUrl?, InputStream?> {
height: Int,
options: Options
): ModelLoader.LoadData<InputStream?> {
val modelWithHeader = AnalyzeUrl(model.toString()).getGlideUrl()
val cacheKey = model.toString()
var modelWithHeader = model
if (cacheKey.isAbsUrl()) {
modelWithHeader = AnalyzeUrl(cacheKey).getGlideUrl()
}
return ModelLoader.LoadData(modelWithHeader, OkHttpStreamFetcher(modelWithHeader, options))
}