上文[系统掌握Android] 单线程模型提到了三步走场景:
把大象放冰箱里分3步
- 在主线程中启动worker线程
- 在worker线程中完成耗时操作
- 从worker线程把访问UI组件的代码“扔进”UI线程执行
我们先来把它变成具体场景和代码。
场景:点击一个TextView, 请求网络取文字,回来把文字填入TextView
这是我们开发android总会遇到的场景,我们平时肯定也是三步走的完成。
public void onClick(View v) {
new Thread(new Runnable() { //第一步
public void run() {
final String text = requestNetworkText(); //第二步
mTextView.post(new Runnable() { //第三步
public void run() {
mTextView.setText(text);
}
});
}
}).start();
}
上面的代码只是我们实现三步走场景的一种实现方式。其中第一步和第三步分别可以引出构成Android应用的重要概念。