我在Android UI線程執行一些程序,有一個很耗時的程序,所以我把它放在另一個線程中。
1.在這個子線程運行後,UI線程會開始執行某個程序
2.這個程序將會在子線程中創建一些數據
這是我的解決方案:
Car car;
public void onResume(){
super.onResume();
Thread t = new Thread(){
car = new Car();
car.takePetrol; //take car full petrol
}
});
t.join();
count_How_far_Car_can_go(car.getPetrol);
我的代碼中的問題是:我使用 t.join(); 等待線程結束,但這將會阻止UI線程。我創建了另外一個線程,就是想讓UI線程可以順利的執行。現在阻止UI線程,我不想在程序中出現這個現象。還有什麼解決方法呢?
最好你還是去看一看android中的Handler機制吧,這會對你很有幫助的。理解之後再看看AsyncTask,AsyncTask也是用了Handler機制的,AsyncTask用起來比較方便。