2012-05-09 56 views
0

這是我的活動(片段):何時在android中加載活動的佈局?

setContentView(R.layout.main) 
//Some Time consuming code 


正如你可以看到耗時的代碼都放在setcontentview後。此活動需要很長時間才能加載。以確認我刪除了耗時的代碼,並且活動顯示得非常快。我的問題是我只在setContentView佈局之後做耗時的工作,那麼爲什麼花費這麼多時間來顯示至少佈局。

+0

您需要了解Android活動週期。 –

回答

2

每次耗時的任務都應該在非UI線程中完成。考慮使用一個AsyncTask。 要回答您的問題,只有在整個onCreate方法完成後纔會顯示活動。因此,它設置了它的內容視圖,然後執行onCreate方法的剩餘部分(耗時的代碼),然後顯示。

爲了您的信息,這裏是的AsyncTask的文檔:http://developer.android.com/reference/android/os/AsyncTask.html

1

你應該做的所有的時間中消耗的onResume work()方法。那麼完成onCreate()方法可能需要更少的時間,並且您的佈局將會更快加載。