歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 怎麼啟動一個工作線程及線程如何與UI線程交互

復雜耗時的操作,常常會阻塞UI主線程,從而引起程序卡死!針對這種情況,可以通過簡單的策略規避:新開一個工作線程,在工作線程中執行復雜操作,操作完畢之後,

通過Handler通知UI線程,更新狀態信息!關鍵代碼,請參閱下面:

  1. private void SynTask() {  
  2.     new Thread() {  
  3.         @Override  
  4.         public void run() {  
  5.           
  6.             if (IsHaveInternet()){// 聯網   
  7.                 DowloadData();//下載數據   
  8.                 //通知UI   
  9.                 Message msg = new Message();  
  10.                 msg.what = mDonlandEnd;  
  11.                 handler.sendMessage(msg);  
  12.             }  
  13.         }  
  14.     }.start();  
  15. }  

UI主線程,怎麼通過handler接手工作線程的信息呢:

  1. Handler handler = new Handler() {  
  2.     @Override  
  3.     public void handleMessage(Message msg) {  
  4.         switch (msg.what) {   
  5.         casem mDonlandEnd:  
  6.             ShowToast(GetString(R.string.DonlandEnd));  
  7.             break;  
  8.         default:  
  9.             break;  
  10.         }  
  11.     }  
  12. };  

主要用到的類有:Android.os.Handler、android.os.Message及java.lang.Thread

Copyright © Linux教程網 All Rights Reserved