多線程和服務
runOnUiThread
在子線程調用,直接運行在ui主線程
runOnUiThread(new Runnable() { @Override public void run() { } });
@SuppressLint(“HandlerLeak”) warning解決
private Handler handler = new Handler(new Handler.Callback() {//6 @Override public boolean handleMessage(Message msg) {//6 switch (msg.what) { case UPDATE_TEXT: // 在這裏可以進行UI操作 text.setText("Nice to meet you"); return true; default: return false; } } });
異步消息處理機制
1).Message 信息載體 子段:waht(類型區分) arg1和arg2(整型攜帶者) obj(Object攜帶者)
2).MessageQueue Message存儲隊列
3).Handler 發消息和處理消息
4).Looper MessageQueue的轉軸,管理者實現消息的傳遞
AsyncTask使用
1).public class DownloadTask extends AsyncTask