如何在UI中快速显示日志消息?

时间:2012-12-20 20:18:12

标签: android

我有一个函数void log(String s),它将消息打印到TextView,并将其添加到现有文本中。在内部,它使用Handle

确实setText(getText().toString() + s)但是当文本变大时,整个UI线程会冻结。

有没有办法快速将日志输出(如Log.d)放入UI线程?

1 个答案:

答案 0 :(得分:1)

你能这样更新吗?

handler.post(new Runnable(){
    public void run() {
        setText(...)
    }
});

或者使用StringBuilder作为日志消息。 setText(getText()+ new log)非常慢。

protected StringBuilder logs = new StringBuilder();

void newLogMessage(String msg) { 
    logs.append(msg);
    setText(logs.toString()); 
}