1 剛發現一個令人驚奇的事兒,TabActivity中的,無論用getTabHost().setCurrentTab(2);設定當前的subactivity為第幾個,例如第二個,可是第一個subactivity仍然會create,目前尚不知道create之後的情況以及是否和SetDefaultTab有關。
2 ActivityGroup裡面的
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
}
不會被調用。
3 Activity有兩個可重載的函數,貌似很有意思啊
void |
onPostCreate(Bundle savedInstanceState)Called when activity start-up is complete (after onStart() and onRestoreInstanceState(Bundle) have been called). |
void |
onPostResume()Called when activity resume is complete (after onResume() has been called). |
使用還得斟酌下。
4 Activity的生命週期是棧式的,文檔上很詳細,create->start->resum->pause->stop->destroy, 省電鎖定的時候進入pause態,主動壓入後台則是進入stop態(home鍵,不知道返回鍵是否),直接調用finish進入destroy,記憶體在後台被強制回收時不會調用destroy,若有程式突入前台那麼當前程式是否就如pause還是stop?
有意思的是ActivityGroup與SubActivity的生命週期關聯,假設ActivityGroup group,SubActivity sub:
groupCreate->subCreate->subStart->groupStart->subResume->groupResume->subPause->groupPause->subStop->groupStop->subDestroy->groupDestroy
從subA1切換到新的subA2,subA1Pause->subA2Create...
然後相互之間的切換就是先pause再resume的形式。
subA1與subA2都啟動後,停留在subA1,然後finish則:
[subA1-pause]->[group-pause]->[subA1-stop]->[subA2-stop]->[group-stop]->[subA1-Destroy]->[subA2-Destroy]->[group-Destroy]
如果停留在subA2則是
[subA2-pause]->[group-pause]->...
就是這樣了。