Android listview更新次数过多

Android listview更新次数过多,android,performance,listview,android-relativelayout,Android,Performance,Listview,Android Relativelayout,在我的主要活动布局(RelativeLayout)中,我在其他按钮和文本视图中显示了三个垂直方向的列表视图。我的问题是,当一个ListView(屏幕左侧的一个)更新时,另外两个也会更新,导致UI性能不佳 我知道RelativeLayout在一个视图的大小影响另一个视图的位置(导致另一个视图重新绘制)的情况下可能会很棘手,因此我已确保两个listview的位置与左侧listview的大小无关 我还查阅了如何使用ViewHolder等使listview重画更高效的技巧,但我更愿意解决这个问题 更多详

在我的主要活动布局(RelativeLayout)中,我在其他按钮和文本视图中显示了三个垂直方向的列表视图。我的问题是,当一个ListView(屏幕左侧的一个)更新时,另外两个也会更新,导致UI性能不佳

我知道RelativeLayout在一个视图的大小影响另一个视图的位置(导致另一个视图重新绘制)的情况下可能会很棘手,因此我已确保两个listview的位置与左侧listview的大小无关

我还查阅了如何使用ViewHolder等使listview重画更高效的技巧,但我更愿意解决这个问题

更多详情:

  • 对于左侧listview的适配器,我将ArrayAdapter类划分为子类
  • 对于其他两个ListView的适配器,我使用CursorAdapter类的子类

尝试使用相同的适配器类以获得更好的性能,因为执行时间因要显示的数据类型而异

如果您将
android:layout\u height=“wrap\u content”
设置到您的ListView,那么系统会尝试找到每个元素的最佳大小,并多次调用getView。除了使用android:layout\u height=“fill\u parent”


你是对的,在罪魁祸首中,使用其他一些视图,如android:weightSum的线性布局等。

我已经检查过了。即使是固定的布局高度和重量也不行。