您好,登錄后才能下訂單哦!
在android開發過程中,我們經常有通過子線程來更新界面UI的需求,而android是不允許子線程更新界面的,只能通過主線程來更新界面UI,而且,android開發中,由于要保證主線程的通暢,一般主線程只負責處理界面更新,事件處理,窗體顯示的回調等重要且不耗時的操作,而像連接網絡,io操作等,一般讓子進程負責。
所以,android提供了一種消息機制來實現子線程更新UI的需求,android提供Handler類,用于子線程和主進程交互。在主進程中,聲明實例化一個Handler,并重寫它的handleMessage方法。
private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { int i = (Integer) msg.obj; tView.setText("hello world "+i); super.handleMessage(msg); } };
在子線程中,調用的Handler的sendMessage方法,android主線程就會調用HandleMessage方法來處理。
Thread thread = new Thread(){ @Override public void run() { for (int i = 0; i < 1000; i++) { try { sleep(500); } catch (Exception e) { // TODO: handle exception } Message msg = new Message(); msg.obj = i; handler.sendMessage(msg); } super.run(); }
Handler
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。