代码之家  ›  专栏  ›  技术社区  ›  Extremis II

在viewmodel中使用大量livedata的性能开销

  •  4
  • Extremis II  · 技术社区  · 7 年前

    我需要使用多个recyclerviews。 在下面的场景中,我将需要至少6个recyclerviews。 6=1表示水平循环视图+3表示viewpager中的每个片段+1表示recylerview+1表示网格布局。

    recycler view live data

    由于数据的复杂性非常大,每个适配器的数据都依赖于其他适配器的更改,因此我决定使用android jetpack中引入的架构组件。首先,我将集成视图模型和实时数据。稍后合并房间数据库(现有数据库位于SQLite中)

    因为我将使用多个livedata来监视适配器数据的更改。 我想澄清我对视图模型和实时数据性能方面的疑虑。

    使用大量实时数据的性能开销 :

    1. 我需要6到7个实时数据来观察每个适配器数据的变化。为了了解性能,假设要使用大约50~60个实时数据。

    2. 仅在房间中使用实时数据是最佳做法还是建议?。

      我们可以在适配器数据或布尔、int等简单的基本类型上使用它(例如:isLoading:MutableLiveData、inputText:MutableLiveData textField string以监视更改)

    比如说,有人可能要求它在一个表单上有多个数字编辑文本、下拉列表、多选等,每个表单上都附有一个实时数据。

    1. 实时数据如何在内部工作?它是否使用一些昂贵的资源来监控变量的变化
    1 回复  |  直到 6 年前