首先点击TableRow - 响应非常慢

时间:2013-03-15 09:16:57

标签: android performance tablelayout tablerow

我有这个奇怪的问题,无法弄清楚。我有TableLayout TableRow'sonClickListener。我希望在点击时突出显示tableRow ...除了第一次点击时非常慢的响应外,一切似乎都很好。 当我单击TableRow时,突出显示TableRow大约需要8秒钟,但它只是第一次花费很长时间。当我点击其他行然后回到之前突出显示的行时,响应是“立即”。我应该提到该表包含30列和13列。限制为少量行和列时,响应时间会减少。

为什么第一次点击需要花费这么多时间,而不是第二次点击?

这是我的onClick方法:

@Override
public void onClick(View v)
{       
    if (v instanceof TableRow){
        long startTime = System.currentTimeMillis();            
        TableRow row = (TableRow) v;
        if (selectedRow != null){
            selectedRow.setBackgroundColor(Color.TRANSPARENT);              
        }
        row.setBackgroundColor(getResources().getColor(R.color.selected_row));          
        selectedRow = row;          
        long estimatedTime = System.currentTimeMillis() - startTime;
        Log.v(TEST_TAG, "Time elapsed when clicked:" + estimatedTime);      
    }       
}

它在OnClick方法中花费几毫秒,并且几秒钟来绘制背景颜色以显示。

0 个答案:

没有答案