Skip to main content
Select a menu in the customizer

Android home screen life cycle.

一般的activity life cycle  大概網路上已經提到爛掉了
想當然不會跟者淌這個混水,不過還是要先有基本的life cycle 觀念
這次要提的是 Home Screen Life cycle.

activity life cycle
各位先感受感受,
這是一般的情況
activity flow

使用ap1 中,切換到  ap2 正常來說會是

ap1  進入  onPause —->  ap2  進入 onResume

 

繼續延伸來思考,按了home button 會發生怎樣的狀態切換

ap1  進入  onPause —-> home ap  進入 onResume.

home ap  也是一種application 所以當然也符合這個生命週期
home button 只是提供一種進入home screen的手法
需要補充的是 home button 切到 home screen 的情況
會多進入一個 onNewIntent 的狀態,所以要特別處理 home button event
則是在這作手腳

把home button 補完
ap1 進入 onPause —–> home ap 進入 onNewIntent —–> home ap 進入 onResume

好了,第一階段 home button left cycle 搞定

接下來請思考一下,onResume 和 onPause 狀態差在哪裡
主要在於 ap view 是否顯示在foreground,
onResume 是view 顯示在foreground
onPause 是 view 不顯示在foreground

第二個問題是

home screen 已經在onResume 階段,顯示在 foreground
這時候 click home button 會發生何事?

home ap 進入 onPause –> home ap 進入 onNewIntent –> home ap 進入 onreusme

結論是 home screen 自己玩自己的那一套
一人分飾兩角 自己瞬間 消失 再出現

會提到這個,主要是提醒發發home screen ap 處理home button event
也要同時考慮 onPause 和 onresume 的觸發關係,而不能單純考慮 onNewIntent 的 handle.
算是home screen的特殊案例,與一般 ap 不同的地方