Android Coil 3拦截器Interceptor计算单次请求耗时,Kotlin
Kotlin
import android.content.Context
import android.util.Log
import coil3.intercept.Interceptor
import coil3.request.ImageResult
class MyInterceptor : Interceptor {
companion object {
const val TAG = "fly/MyInterceptor"
}
private var mCtx: Context? = null
constructor(ctx: Context) {
mCtx = ctx
}
override suspend fun intercept(chain: Interceptor.Chain): ImageResult {
val t = System.currentTimeMillis()
val result = chain.proceed()
Log.d(TAG, "耗时:${System.currentTimeMillis() - t} ms, ${chain.request.data}")
return result
}
}
Kotlin
mImageLoader = ImageLoader.Builder(ctx)
...
.components {
...
add(MyInterceptor(ctx))
}.build()