2013-05-08 92 views
0

我有兩個活動A和B.活動A將啓動活動B.我做了一些UI初始化,數據庫查詢和本地存儲讀取操作在活動B的onCreate。我的問題是活動B需要很長時間可見。那是因爲onCreate中有這樣的操作嗎?我希望至少我的UI更改可見。請指導我增加活動加載時間

+0

是的。您可以在其他線程中運行繁重的操作,然後更新UI。 – Kanth 2013-05-08 16:07:43

+0

謝謝。我應該在onCreate和其他onResume活動狀態下進行UI更改嗎?用戶可以看到哪些狀態活動? – vignesh 2013-05-08 16:11:37

+0

否。清楚地檢查活動的生命週期。 onResume()在屏幕變得可見之前被調用。所以,即使你在onResume()中執行繁重的操作,也不會有任何區別。請按照下面的答案或使用asynctask。你可以有選擇來做到這一點或創建自己的線程。 – Kanth 2013-05-08 16:20:23

回答

0

在您的onCreate執行繁重的任務在不同的線程/處理程序/ AsyncTask。例如

public void onCreate(Bundle b){ 
    super.onCreate(b); 
    setContentView(R.layout.yourlayout); 
    // do other gui initialization 
    Handler h = new Handler(); 
    h.post(new Runnable{ 
     public void run(){ 
      // do your heave tasks 
     } 
    }); 
}