Android 首先单击TableRow-响应非常慢

Android 首先单击TableRow-响应非常慢,android,performance,tablelayout,tablerow,Android,Performance,Tablelayout,Tablerow,我有一个奇怪的问题,无法解决。我有一个TableLayout和TableRow的,它有onClickListener。我想在单击时突出显示tableRow。。。除了第一次点击时反应非常慢外,其他一切似乎都很好。 当我单击TableRow时,高亮显示TableRow大约需要8秒钟,但仅仅是第一次就需要很长时间。当我点击到另一行,然后返回到之前高亮显示的行时,响应是“立即”。我应该提到,这个表包含30行13列。当限制为很少的行和列时,响应时间会缩短 为什么第一次点击要花这么多时间,而第二次点击却不花

我有一个奇怪的问题,无法解决。我有一个
TableLayout
TableRow的
,它有
onClickListener
。我想在单击时突出显示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方法中花费了几毫秒,在绘制背景色以显示时花费了几秒钟。

而没有显示您在该
OnClickListener中所做的事情。
没有人能真正帮助您。@Luksprog。。。我更新了我的答案。它真的必须是onDraw或类似的东西,我还不明白。它的行为就像在第二次单击时,整个视图来自某种缓存…您尝试过为这个函数做什么吗?@sandstar我会尝试一下。我是Android开发新手。。。所以谢谢你的提示。实际上,这是一个为可滚动屏幕创建的列表视图,其中有很多项是有效的。