當一個 Activity 被啟動時會經過以下 Method
onCreate() -> onStart() -> onResume()
當一個名為 N 的 Activity 呼叫另一個名為 P 的 Activity 時
N.onPause() -> P.onCreate() -> P.onStart() -> P.onResume() -> N.onStop()
當在 P Activity 且按下硬體 Back 鍵時
P.onPause() -> N.onReStart() -> N.onStart() -> N.onResume() ->
P.onStop() -> P.onDestory()
當一個 Activity 呼叫 this.finish() 時
onPause() -> onStop() -> onDestory()
當一個 Activity 被 Android Dalvik 回收再重新啟動時
onCreate() -> onStart() -> onResume()
以上規則適用於大部份 Android 平台的裝置,但有些例外,目前已經試到的是 HTC Legend 就是個特例,HTC Legend 在 Activity_A 上面做 StartActivity(Activity_B) 之後,會執行 Activity_A 自已的 OnDestroy(),並且在一個 Activity.finish() 時常常不會自動 back,必須手動按硬體 back 鍵,這些都是在不同裝置上測試時必須注意的細節。
沒有留言:
張貼留言