Ely*_*lye 8 android android-viewholder android-recyclerview android-jetpack-compose
根据https://developer.android.com/jetpack/compose/interop/compose-in-existing-ui#compose-recyclerview,可在 RecyclerView 中使用的可组合 ViewHolder 如下
import androidx.compose.ui.platform.ViewCompositionStrategy
class MyComposeViewHolder(
val composeView: ComposeView
) : RecyclerView.ViewHolder(composeView) {
init {
composeView.setViewCompositionStrategy(
ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed
)
}
fun bind(input: String) {
composeView.setContent {
MdcTheme {
Text(input)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
看起来,每次都是bind可组合的setContent(即再次重绘)。
我使用Profile GPU Rendering测量速度,它清楚地表明 ReyclerView+ComposeViewHolder 的混合比纯 RecyclerView 或 LazyColumn 慢。
您可以在这里获取设计
我们怎样才能加快混合 RecyclerView+ComposeViewHolder 的速度?
| 归档时间: |
|
| 查看次数: |
3189 次 |
| 最近记录: |