超慢的tablelayout性能

时间:2013-05-30 02:26:20

标签: android performance tablelayout

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

Android dynamically created table - bad performance

我在已经很复杂的布局中使用了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);
}

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

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

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

您的体验TableLayout是否禁止,或者我可能做错了什么?行或单元layoutparams可能有一些神奇的值吗?

提前致谢。

0 个答案:

没有答案