gpt4 book ai didi

android - 不应该为 RecyclerView 项目 View 使用数据绑定(bind)吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:42:13 25 4
gpt4 key购买 nike

我目前正在研究为什么我的某些 RecyclerView 表现不佳。 UI 滞后,尤其是当需要绘制 View 的全部内容时。
使用 systrace 我遇到了一个大框架,其中 RecyclerView 布局了它的 View :

enter image description here

如您所见,重复绘制了相同的 View 。在 systrace 中,我在 RecyclerView 框架上找到了以下描述:

OnLayout has been called by the View system. If this shows up too many times in Systrace, make sure the children of RecyclerView do not update themselves directly. This will cause a full re-layout but when it happens via the Adapter notifyItemChanged, RecyclerView can avoid full layout calculation.

我的 RecyclerView 的 View 使用的是谷歌的 data binding具有可观察的值(value)。
意味着更新我不使用的 TextView textView.setText(titleTxt)但是title.set(titleTxt)其中 title将是 ObservableField<String> 类型.
所以显然我没有调用 notifyItemChanged但只更新绑定(bind)到布局的对象上的可观察字段。

在这种情况下使用数据绑定(bind)对性能有好处吗?如果是这样,那么数据绑定(bind)的意义何在?移动用户界面主要由列表组成。

最佳答案

不幸的是,随着 Kotlin 的到来,Google 遗留了数据绑定(bind),所以如果您认为它像我一样拖慢了速度,请停止使用它或一起迁移到 Kotlin。对我们来说尝试和处理那些不断被打破和被遗忘的东西有点糟糕,但这正是谷歌决定成为的。

关于android - 不应该为 RecyclerView 项目 View 使用数据绑定(bind)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40001563/

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