上文[系統(tǒng)掌握Android] 單線程模型提到了三步走場(chǎng)景:
把大象放冰箱里分3步
- 在主線程中啟動(dòng)worker線程
- 在worker線程中完成耗時(shí)操作
- 從worker線程把訪問(wèn)UI組件的代碼“扔進(jìn)”UI線程執(zhí)行
我們先來(lái)把它變成具體場(chǎng)景和代碼歌馍。
場(chǎng)景:點(diǎn)擊一個(gè)TextView, 請(qǐng)求網(wǎng)絡(luò)取文字,回來(lái)把文字填入TextView
這是我們開發(fā)android總會(huì)遇到的場(chǎng)景喇潘,我們平時(shí)肯定也是三步走的完成。
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();
}
上面的代碼只是我們實(shí)現(xiàn)三步走場(chǎng)景的一種實(shí)現(xiàn)方式爸邢。其中第一步和第三步分別可以引出構(gòu)成Android應(yīng)用的重要概念科乎。