超慢的tablelayout性能

rup*_*pps 5 performance android tablelayout

我遇到了可怕的TableLayout性能.我在这里读了一些关于同样的帖子......

Android动态创建表 - 性能不佳

我在已经很复杂的布局中使用了tablelayout.我已经使用了很多视图,当然我使用的视图越多,性能越差,这是显而易见的,但我想知道与其他小部件相比,性能是如何可能的那么糟糕.

在我的例子中,一个表格布局,假设5*5文本视图(行中只有纯文本视图)导致系统冻结的时间超过1.5秒,有时只是通过更新TextView.我不是在谈论渲染整个表,而只是在tablelayout中更新一个textview.

我怀疑是setColumnsStretchable(),但即使将其设置为永不拉伸,性能也是一样的.

public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
    final TextView target=(TextView)seekBar.getTag();
    target.setText(""+progress);
}
Run Code Online (Sandbox Code Playgroud)

这是我用来更新单元格的代码.如您所见,它是SeekBar监听器的一部分.我甚至不需要findView()或任何东西,因为我将目标textview存储为seekbar的标签.

因此,移动搜索栏会导致跳跃:需要超过一秒钟!单独执行setText().如果我更新不在表内的任何其他文本视图,则会立即按预期更新.

如果我的桌子是10*10,那么它需要3秒钟!

在你的经历TableLayout是否禁止或者我可能做错了什么?也许行或单元布局的一些神奇值?

提前致谢.