gpt4 book ai didi

android - Jetpack Compose 惰性列性能

转载 作者:行者123 更新时间:2023-12-04 23:49:39 28 4
gpt4 key购买 nike

我是jetpack compose的新手,并从 JetpackCompose Basics的代码中学习它
所以我在 create a performant lazy list 中找到了

Note: LazyColumn doesn't recycle its children like RecyclerView. Itemits new Composables as you scroll through it and is stillperformant, as emitting Composables is relatively cheap compared toinstantiating Android Views.


那么如何发射新的可组合项既便宜又高效,那么为什么不只使用列并组合整个列表一次,而不是在滚动时继续发射可组合项,即使发射 composables只是布局可见的项目
更新:如果可见项目是 10,所以在用户滚动从 0 到 9 的项目之前是可见的并且已经渲染,现在用户已经向上滚动并且可见项目从 5 到 14,jetpack compose 删除了 5 个项目之前已渲染,如果用户向下滚动,它们将被重新组合或 jetpack compose 将所有渲染 View 保留在内存中,无论它是否可见

最佳答案

因为“便宜”的定义是有限制的,但列表可以有多大是没有限制的。输出 100-200 个可组合物可能很便宜(我不相信,但为了争论起见,让我们这么说)。输出 10K 并不便宜。由数据库支持的结果列表很容易得到。
因此,您仍然不想一直输出所有内容。但是输出用户可以合理滚动到的所有内容可能相对便宜,因为没有人会到达 10K 列表的末尾。从而使其成为基于常见用户行为的合理折衷方案。当他们进一步向下滚动页面时,您会失去性能,但是这样做的用户百分比足够小,您可能不在乎。

关于android - Jetpack Compose 惰性列性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70158104/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com