我有一个函数 voidlog(String s)
将消息打印到TextView
将其添加到现有文本中。在内部它使用一个Handle
确实如此,setText(getText().toString() + s)
但是当文本变大时,整个 UI 线程都会冻结。
有没有办法快速将日志输出(如Log.d
)放入 UI 线程?
我有一个函数 voidlog(String s)
将消息打印到TextView
将其添加到现有文本中。在内部它使用一个Handle
确实如此,setText(getText().toString() + s)
但是当文本变大时,整个 UI 线程都会冻结。
有没有办法快速将日志输出(如Log.d
)放入 UI 线程?
可以这样更新吗?
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());
}