我有一个寻呼机(伴奏者),其图像是使用 Compose 中的 Coil 从网络获取的。
似乎仅在首次显示可组合项rememberPainter()时调用请求。Image
因此,当我在寻呼机中滑动页面时,Image仅在那一刻显示,因此我们必须等待一会儿。
有什么方法可以强制rememberPainter(线圈)预加载吗?
编辑1:
这是我的实现的一个简单版本(删除了很多内容,但这对结果没有影响):
@Composable
private fun Foo(imageList: List<ImageHolder>) {
if (imageList.isEmpty())
return
val painterList = imageList.map {
rememberImagePainter(
data = it.getDataForPainter(),
builder = {
crossfade(true)
})
}
ImageLayout(imageList, painterList)
}
@Composable
fun ImageLayout(imageList: List<ImageHolder>, painterList: List<Painter>) {
HorizontalPager(
count = imageList.size,
modifier = Modifier.fillMaxWidth(),
) { page ->
Image(
painter = painterList[page],
"",
modifier = Modifier
.fillMaxWidth()
.height(200.dp)
.background(
imageList[page].colorAverage
),
contentScale = ContentScale.Crop
)
} …Run Code Online (Sandbox Code Playgroud) 表达式的增量是否x++总是在变量复制到函数之后进行?
电话:
foo(x++, y);
Run Code Online (Sandbox Code Playgroud)
功能 :
int foo(int x, int y)
{
return x*y;
}
Run Code Online (Sandbox Code Playgroud)
这是所有编译器的未定义行为吗?