2016年5月24日 星期二

onPostCreate 說明

個人感覺的使用時機:
1.當Activity徹底運行起來之後回調onPostCreate方法,如果是比較需要時
間的作業, 例如開啟app後,立即copy一些檔案到某處, 這個copy的動作, 
好像寫在onPostCreate比較好, 如果寫在onCreate, 有時似乎不執行(個人印象
, 不知是否正確).  

2.在onCreate 建立一個 Thread :
indexThread = new IndexThread();
indexThread.start();

當indexThread啟動以後, indexThread.handler會在一段時間才能建立, 在之
前會是null, 如果是null, 則對indexThread的所有操作都會失敗, 所以我加了
一個空迴圈判斷, 當indexThread.handler不是null的時候才往下執行.

while (indexThread.handler == null) {
}


但這樣的結果, 在某些情況下(android 6 release的版本)這個空迴圈會跑不出來. 
所以後來我取消空迴圈的作法, 把對indexThread的所有操作, 都放到onPostCreate, 
目前為止似乎一切都正常.

3.另外如果要用到 savedInstanceState, 除了onCreate之外, 也只
onPostCreate有提供savedInstanceState這個參數, onStart沒有.



從官方解釋可以看出 "Called when activity start-up is complete (after on
Start() and onRestoreInstanceState(Bundle) have been called)."

一個正常的Activity生命週期如下: onPause onStop onDestory onCreate onStart onPostCreate onResume onPostResume

  © Blogger templates Psi by Ourblogtemplates.com 2008

Back to TOP