重新加载线圈图像 Jetpack Compose

问题描述

我需要重新加载/刷新线圈图像,因为它已被重写到磁盘/存储 我正在使用的代码

val context = LocalContext.current
    val loader = if (!isSvg) {
        LocalImageLoader.current ?: remember { ImageLoader(context) }
    } else {
        remember {
            ImageLoader.Builder(context)
                .componentRegistry {
                    add(SvgDecoder(context))
                }.build()
        }
    }

   val painter = rememberCoilPainter(request = request,imageLoader = loader)


    LaunchedEffect(key1 = invalidate,block = {
        val result = loader.execute(
            ImageRequest.Builder(context)
                .diskCachePolicy(if (fromCache) CachePolicy.ENABLED else CachePolicy.disABLED)
                .data(request).build()
        )
        Log.d("TL_ImageLoadRes",result.toString())
    })

    Box(modifier = Modifier.background(MaterialTheme.colors.onBackground.copy(.4f))) {
        Image(
            modifier = modifier,painter = painter,contentDescription = stringResource(R.string.random_image),contentScale = contentScale
        )
    }

每次 invalidate changes ,都意味着图像已被重写,现在可以找到,我执行 LaunchedEffect 但在获得成功结果后我不知道把它放在哪里,它包含一个 Drawable ,我不知道知道如何处理它

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)