我发现LazyList会产生内存泄漏。当我向下滚动到列表的底部时,我的应用程序的内存使用增加了约3MB。在我向上滚动后,使用量也增加了~3MB。滚动列表的内存使用一直在增加。如何解决这个问题?Google IssueTracker的问题
P.S.
有时内存使用下降50-100mb。在我的测试项目(下面的代码)中,使用量增长到150mb。在我的其他更复杂的项目中,它增长到200-250mb。理论上,它会导致OutOfMemoryException。
的例子:
LazyVerticalGrid(columns = GridCells.Fixed(2)) {
item(span = { GridItemSpan(2) }) {
LargeTopAppBar(title = {
Text(text = "Explore new")
})
}
items(50) {
Box(modifier = Modifier
.fillMaxWidth()
.height(250.dp))
}
}
这个问题已经报告了,但到现在还没有解决。
理论上会导致OutOfMemoryException
不仅在理论上,因为我们最近不得不降级一个应用程序的生产版本返回到Compose 1.1.1正是因为这个问题。据我所知,这是目前唯一可能的解决办法。
我想从现在开始我们应该坚持使用稳定版本的Compose。