Android用Coil 3檢查媒體資源是否有效,Kotlin
@WorkerThreadfun checkImage(ctx: Context, uri: Uri): Boolean {val t = System.currentTimeMillis()val request = ImageRequest.Builder(ctx).data(uri).memoryCacheKey(uri.toString()).precision(Precision.INEXACT).bitmapConfig(Bitmap.Config.ALPHA_8).size(1, 1).build()val result = coil3.executeBlocking(request)val bmp = result.image?.toBitmap()var valid = falseif (bmp != null && bmp.byteCount > 0) {valid = true}Log.d("fly", "image valid=$valid time=${System.currentTimeMillis() - t}ms")return valid}
返回true,表明這個uri指向的媒體是有效的資源。
Android Coil 3攔截器Interceptor計算單次請求耗時,Kotlin-CSDN博客文章瀏覽閱讀537次,點贊5次,收藏6次。【Android Coil3技術分享】文章包含兩部分內容:1) 通過自定義Interceptor攔截器實現圖片請求耗時統計功能,記錄從請求發起至完成的時間差;2) 優化視頻封面幀緩存方案,將PNG格式改為JPEG壓縮(質量80%),使文件體積減少90%,同時采用FFmpeg快速抽取首幀和緩沖流技術提升磁盤I/O性能。該方案在保持畫質的同時顯著提升了緩存效率。https://blog.csdn.net/zhangphil/article/details/150523801